小编Som*_*DOS的帖子

你如何打电话给你的家?我想了解一些关于subrepos的信息

我开始在mercurial中将一些文件放在版本控制中.它开始于.vim,然后用.bashrc,现在我意识到许多其他文件也可以被版本化(例如.zshrc,由taskwarrior创建的.task目录等)

事实是,我想知道哪些方法可用,以及SO中的人们如何做到这一点.

版本控制主页不是一个好主意,因为我需要编辑我的.hgignore,每次添加我不想要版本化的新文件夹时我也需要编辑.hgignore.

所以我想到了两种方法:

  • 创建一个"dotfiles"仓库及其中的所有内容(vim,bash,screenrc),在家中克隆它并在家中创建符号链接;
  • 为每个配置创建一个"dotfiles"repo和repo(vim,bash,screenrc,cvsrc等).这个"dotfiles"仓库将其他存储库作为子模块,但仍需要在家中创建符号链接.

您是否认为在第二种方法中为每个配置创建存储库是否过度?你有其他建议吗?我想在linux/mac上使用这种方法.我也在windows上使用vim,这就是为什么我要用子模块制作不同的存储库 - 在windows中我只是克隆vim repo:home repo将vim作为子模块.

(我正在使用bitbucket私人帐户.是否有可能在那里有子模块?还有一件事:是否有可能 mercurial存储库中将git子模块作为子模块?如何?)

谢谢!

linux macos version-control mercurial

2
推荐指数
1
解决办法
210
查看次数

你如何评价mercurial中的合并(独奏开发者,bitbucket中只有一个外部回购)?

当我必须进行合并时,我已经完成了mercurial,我就是这么做的 hg commit -m "Merge."

合并时你通常做什么?你是否在评论中写了变更集,或者尝试写出"有意义的"评论(因为我认为它们没用,除非你从不同位置的两个真正不同的回购合并).

是否可以在hgrc的[alias]中的mercurial(如hgmerge)中创建一个别名,自动执行hg commit -m "Merge: heads ${head}, ${head} ..."

merge mercurial

2
推荐指数
1
解决办法
188
查看次数

使用另一个列表作为"过滤器"对python中的dicts列表进行排序?

b = [{'id': 'a'}, {'id': 'c'}, {'id': 'b'}, {'id': 'e'}]
Run Code Online (Sandbox Code Playgroud)

我需要这个成为:

b = [{'id': 'a'}, {'id': 'c'}, {'id': 'e'}, {'id': 'b'}]
Run Code Online (Sandbox Code Playgroud)

此新订单由另一个列表定义.

my_filter = ['a', 'c', 'e', 'b']
Run Code Online (Sandbox Code Playgroud)

......正如您所看到的,带有dicts的列表现在具有一系列在my_filter变量上显示的ID .

我能够重新安排这个但是使用了一堆fors而且效率不高.你知道更好的方法吗?我已经知道如何按字典的值对字典列表进行排序,但我需要这个顺序由另一个列表定义.

编辑:my_filter被命名filter,我改变了Dave Kirby的推荐,因为它是内置的.由于某些答案仍然存在filter于其中,因此,如果您在其中一些答案中看到此编辑部分,则应避免混淆filter.

python dictionary

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

如何强制 Pillow 将图像大小调整为任意大小?

我需要调整图像大小,从所有不同的大小到 144x144。

所有尺寸:从 968x565、25x48、400x400 等。不知道输入。我正在使用 Python 中的 Pillow 库。我不介意失去纵横比。

问题是:使用resize方法时,某些图像会获得完全随机的大小。并非总是如此,但只有其中一些不尊重我给该方法提供的 144x144 的任意大小。这是一个示例

我尝试使用 Mac OS X Yosemite 的 Preview 调整这些图像的大小,并且效果很好。我需要在 Pillow 中做什么才能强制使用 144x144 大小并至少像 mac 中的预览一样工作?

我无法发布整个代码,但调整大小的代码段是:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PIL import Image

im = Image.open('canvas_wheat.jpg')
im.resize((144, 144), Image.ANTIALIAS)
im.save('144.jpg', optimize=True, quality=20)
Run Code Online (Sandbox Code Playgroud)

python image-processing python-imaging-library

2
推荐指数
1
解决办法
3099
查看次数

如何处理mod_rewrite中查询字符串中的"#"?

我问了一个关于将旧的"丑陋"链接重写为seo友好链接的问题.

我需要在一些网址中的"尖锐"符号后"提取"一些信息.我已经为它创建了一个正则表达式,但它看起来不起作用.

在我的问题之后,我为这个url创建了这个逻辑,例如script.php?mode=full&id=23:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /script\.php\?mode=full&id=([0-9]+)\ HTTP/
RewriteRule ^script\.php$ fix_old_urls.php?phpfile=script2&id=%1 [NC,L]
Run Code Online (Sandbox Code Playgroud)

但是我正在使用遗留应用程序,我需要在一些页面中的尖锐符号之后提取值,在示例url中script.php?mode=full#23:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /script\.php\?mode=list\#([0-9]+)\ HTTP/
RewriteRule ^script\.php$ fix_old_urls.php?phpfile=script&id=%1 [NC,L]
Run Code Online (Sandbox Code Playgroud)

(在fix_old_urls中我正确地使用301代码重定向).

第一个工作,但不是第二个工作.对我来说,两者看起来都是一样的逻辑.我做错了什么?

mod-rewrite seo

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

如何检测我的.vimrc中"&t_Co"是否"已定义"?

当我:echo &t_Co在我的Vim中时,它会显示我的终端颜色.如果我:echo &t_Co在我的gVim中,没有显示任何内容(因为我不在终端).

我想用一个条件,我的vimrc检测到这种状况(&t_Co在gVim的没有价值,我怎么测试呢?我知道我可以使用已经("gui_running"),看看我在gVim的或不,但我想知道如何测试像&t_Co这样没有显示任何内容的变量.

vim terminal

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

在vim启动时打开两个.vimrc?

是否可以从命令行在vim中获取两个.vimrc?

假设我有〜/ .vimrc.我想创建一个别名来源.vimrc以及另一个任意的vim配置文件,但仅在启动vim时.就像是:

alias vim='vim --source=~/.vimrc2"
Run Code Online (Sandbox Code Playgroud)

我不想从.vimrc本身调用源命令调用这个文件,我想知道在启动vim作为参数时是否可以调用它.

(我考虑过将.vimrc放在/ etc中.)

vim

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

在Plone上命名我的发行版的最佳方式?

我工作Company,创建Project实现功能的项目.我们来命名吧Newsletter.它可以用于进一步的项目.

我需要创建一个新的Plone产品,但我不知道最好的方法.我想过company.project.newsletter.我已经在某处读过(@aclark回答记住链接),不在我的产品名中使用嵌套的命名空间"除非我100%肯定我在做什么".

有人可以引导我一些关于正确命名我的Plone包的参考吗?我想念像pep8这样的指南.(特别是当对此有完全不同的意见时).

python egg plone package

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

以编程方式在plone上创建内容类型时,time.time()是一种安全的方法吗?

我必须_createObjectByType在Plone上使用.我作为id对象的论据.在这种情况下,基于time.time()避免冲突创建一个id是否安全?两个请求可以具有完全相同的时间戳,如下所示time.time()

python time plone race-condition collision

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

使用本地实用程序作为产品依赖项的问题

这是问题所在.我有mynamespace.mypackage一个依赖mynamespace.mydependencypackage,这是一个本地实用程序.它是使用组件注册表注册的.

config.pymynamespace.mypackage,我有

DEPENDENCIES = ['mynamespace.mydependencypackage']
Run Code Online (Sandbox Code Playgroud)

在我mynamespace.mypackagesetuphandlers.py这个依赖项中安装,如果尚未安装.

问题是:如果我重装mynamespace.mypackageZMI,似乎一切都完美地安装(因为显示没有错误),但我不断收到一个ComponentLookupError使用的方法时,mynamespace.mypackage即获得该实用程序:

Module zope.component._api, line 207, in getUtility
ComponentLookupError: (<InterfaceClass MY_UTILITY_INTERFACE, '')
Run Code Online (Sandbox Code Playgroud)

我可以"修复"这个问题,在重新安装时重新安装mynamespace.mydependencypackage我的setuphandlers.py或通过ZMI mynamespace.mypackage,但这对我来说似乎不是最好的解决方案.

我在这里缺少关于通用设置的内容?我没有让这个实用程序在ZODB上保留任何值.我可以忘记所有这些问题并BrowserView使用实用程序方法创建一个,但我想先了解为什么我遇到这些问题.

编辑:现在,我有一个更大的问题.所述TypeError: ('object.__new__(MyClass) is not safe, use Persistence.Persistent.__new__()', <function _reconstructor at 0xb7783e9c>, (<class 'mynamespace.mydependencypackage.package.MyClass'>, <type 'object'>, None))正在显示.完全追溯:

Traceback (innermost last):
  Module ZPublisher.Publish, line 110, in publish
  Module …
Run Code Online (Sandbox Code Playgroud)

plone utility

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

循环通过一堆文件夹内容,这可能本身就是文件夹?

假设我有一个内容类型,文件夹,有4个项目.

+ MyObject
 - Child1
 - Child2
 - Child3
 + Child4
  - Child5
 - Child6
Run Code Online (Sandbox Code Playgroud)

假设我有另一种内容类型(让我们称之为Alias).这Alias主要是对另一个对象的引用,但是文件夹:它可以包含一堆其他别名.我将用于-->在以下树表示中指示此引用.("引用"主要是一个名为"引用"的属性,它从目标对象接收UID).

假设MyAlias现在引用我的MyObject.

+ MyAlias --> MyObject
 - (Nothing)
Run Code Online (Sandbox Code Playgroud)

当引用时MyObject,MyAlias不知道那MyObject是一个Folder,所以内部的MyAlias子元素不存在.我需要遍历每个人,并手动创建一个Alias内部MyAlias,这是一个给MyObject孩子们的参考(具有相同的结构).一棵小树,展示应该发生的事情:

+ MyAlias --> MyObject
 - Alias --> Child1
 - Alias --> Child2
 - Alias --> Child3
 + Alias --> Child4
  - Alias --> Child5
 - Alias --> Child6
Run Code Online (Sandbox Code Playgroud)

我想知道迭代MyObject项目的最佳方法,并使用某种循环并invokeFactory在订阅者中使用,与另一个对象创建相同的结构.最后,我会存在两个树:一个是实际的文件夹和子项,另一个是对同一个文件夹和子项的引用.

(总结:像collective.alias这样的东西,但是以一种非常原始的形式,只是文件夹,因为我不能使用collective.alias.)

python recursion plone

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

我如何知道Plone上是否正确发送了电子邮件?'return host.send(mail_text)'总是返回None

Plone社区管理的开发人员关于发送电子邮件的文档之后:

try:
 host = getToolByName(self, 'MailHost')
 return host.send(mail_text)
except SMTPRecipientsRefused:
 # Don't disclose email address on failure
 raise SMTPRecipientsRefused('Recipient address rejected by server')
Run Code Online (Sandbox Code Playgroud)

...但return host.send(mail_text)总是返回None,无论电子邮件是否已发送(电子邮件实际发送).那么,我能否假设None结果是否成功呢?这对我来说不合适.有什么想法吗?

plone

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