小编Ora*_*Box的帖子

Mercurial显示文件修改不正确

当我克隆出一个Mercurial存储库时,它通常会将文件显示为未修改时进行修改.当我执行以下步骤时,可能会发生这种情况;

$ hg clone <url>
$ cd project
$ hg st
.... large number of files with M at the start for modified
$ hg diff
.... no result.
Run Code Online (Sandbox Code Playgroud)

我认为这是因为文件在进程中已经更改了权限,所以看起来文件是不同的,因为当使用hg st时,hg实际上并不对每个文件执行diff.我知道这也可能发生在git中.

如果我做一个hg提交然后问题确实消失但这意味着我必须做一个空提交,这不是特别好.

我尝试过各种各样的事情,比如hg st --all来获取更多信息,它只显示一些文件被修改 - 不是全部.我看不到一个模式.

当我正在做我的hg克隆它发生在我使用的网络驱动器上,因为它备份 - 我不确定这是否可能导致文件权限更改?我目前正在运行Ubunut 9.04.

有什么方法可以让hg st以某种方式纠正自己?

有问题的项目(虽然它与其他人一起发生)是http://bitbucket.org/d0ugal/django-bursar/overview/,因为我正在寻找一些工作.

mercurial dvcs

7
推荐指数
2
解决办法
1294
查看次数

Reportlab'LayoutError'处理和调试

我一直在使用reportlab处理一些复杂的PDF输出.这些通常都很好,但在某些情况下仍然会出现LayoutErrors - 这些通常是因为Flowables在某些方面太大了.

事实证明调试它们非常困难,因为我通常没有比这样的信息更多的信息;

Flowable <Table@0x104C32290 4 rows x 6 cols> with cell(0,0) containing
'<Paragraph at 0x104df2ea8>Authors'(789.0 x 1176) too large on page 5 in frame 'normal'(801.543307087 x 526.582677165*) of template 'Later'
Run Code Online (Sandbox Code Playgroud)

这真的没那么有用.我理想地想知道的是这种事情的最佳调试和测试策略.

  • 有没有办法可以查看损坏的PDF?即使用布局错误渲染,所以我可以看到更容易发生的事情.
  • 有没有办法可以为reportlab添加一个钩子来更好地处理这些错误?而不只是失败整个PDF?
  • 关于一般改进,测试和处理这些问题的任何其他建议.

我没有一个特别的例子,所以它更一般的建议,上面的例外我已经解决了但它有点通过试验和错误(阅读;猜测和看到会发生什么).

python testing debugging reportlab

6
推荐指数
1
解决办法
1434
查看次数

如何从dicts列表中获取所有唯一ID?

假设你有一个像这样的dicts列表 {'id': 1, 'other_value':5}

也许吧;

items = [{'id': 1, 'other_value':5}, {'id': 1, 'other_value2':6}, {'id': 2, 'other_value':4}, {'id': 2, 'other_value2':3}]
Run Code Online (Sandbox Code Playgroud)

现在,您可以假设这是数据的一小部分.可能有数千人.这个结构也没有由我指定,它是给我的.

如果我只想获取ID,我可以这样做:

ids = [i[id] for i in items]
Run Code Online (Sandbox Code Playgroud)

但是,您会注意到原始数据中存在重复的ID.所以问题是; 你怎么能整齐地得到唯一的身份证?

我希望有类似的东西:

ids = [i[id] for i in items if not in LIST]
Run Code Online (Sandbox Code Playgroud)

但据我所知,没有办法访问生成器中的列表.

当然,我可以做一个for循环,并轻松地这样做.我只是想知道是否有更简洁的方法来做到这一点.

python

0
推荐指数
1
解决办法
274
查看次数

标签 统计

python ×2

debugging ×1

dvcs ×1

mercurial ×1

reportlab ×1

testing ×1