Setuptools的Mercurial文件查找插件
项目描述
一个简单的 setuptools 插件,用于从基于 Mercurial 的包检出创建发行版。
详细文档
Setuptools的Mercurial文件查找插件
此软件包提供了一个简单的基于命令的文件查找插件,用于 setuptools。一旦安装,就可以使用使用 Mercurial 检出的包创建发行版。
现在让我们创建一个工作空间
>>> import tempfile >>> ws = tempfile.mkdtemp()
由于工作空间不是一个 Mercurial 仓库,查找器返回一个空列表,并在日志中留下错误消息
>>> from z3c.setuptools_mercurial import finder>>> finder.find_files(ws) abort: There is no Mercurial repository here (.hg not found)! (code 255) <BLANKLINE> []
此外,如果目录不存在,我们会得到一个错误消息,但没有结果集
>>> finder.find_files('/foo') [Errno 2] No such file or directory: '/foo' []
现在让我们创建一个新的仓库
>>> import os >>> repos = os.path.join(ws, 'test') >>> cmd('hg init ' + repos)
由于仓库中尚未添加任何文件,查找器仍然会因错误代码 1 而失败
>>> finder.find_files(repos) (code 1) []
现在让我们添加一些目录和文件,查找器应该会满意。
>>> cmd('touch ' + os.path.join(repos, 'data.txt')) >>> cmd('hg add ' + os.path.join(repos, 'data.txt'))>>> cmd('mkdir ' + os.path.join(repos, 'dir1')) >>> cmd('touch ' + os.path.join(repos, 'dir1', 'data1.txt')) >>> cmd('hg add ' + os.path.join(repos, 'dir1', 'data1.txt'))>>> cmd('mkdir ' + os.path.join(repos, 'dir1', 'dir11')) >>> cmd('touch ' + os.path.join(repos, 'dir1', 'dir11', 'data1.txt')) >>> cmd('hg add ' + os.path.join(repos, 'dir1', 'dir11', 'data1.txt'))>>> finder.find_files(repos) ['data.txt', 'dir1/data1.txt', 'dir1/dir11/data1.txt']
请注意,查找器的结果始终是基于输入目录的相对位置列表。
>>> finder.find_files(os.path.join(repos, 'dir1')) ['data1.txt', 'dir11/data1.txt']
Buildout 1.5 及更高版本
当使用 zc.buildout 1.5 或更高版本时,会修改系统环境。特别是,PYTHONPATH 系统环境变量将被重写。在这种情况下,应将其删除
>>> import os >>> bo_orig_path = os.environ.pop('BUILDOUT_ORIGINAL_PYTHONPATH', None) >>> orig_path = os.environ.get('PYTHONPATH') >>> os.environ['PYTHONPATH'] = '/bogus'>>> finder.find_files(os.path.join(repos, 'dir1')) ['data1.txt', 'dir11/data1.txt']>>> if bo_orig_path: ... os.environ['BUILDOUT_ORIGINAL_PYTHONPATH'] = bo_orig_path >>> if orig_path: ... os.environ['PYTHONPATH'] = orig_path
变更
1.1.1 (2010-08-30)
错误:改进 Buildout 支持。感谢 Gary Poster 帮助我。
1.1.0 (2010-08-30)
功能:使 z3c.setuptools_mercurial 与 Buildout 1.5 兼容,Buildout 1.5 默认不再包含标准的 PYTHONPATH。这导致 Mercurial 无法找到其库。
功能:使用 doctest 而不是 zope.testing.doctest。
功能:更新覆盖率设置。
1.0.1 (2009-12-16)
功能:添加对获取仓库子目录中文件列表的测试。
错误:事实证明 setuptools 不喜欢“./<path>”表示法,而只喜欢“<path>”。已修复该问题。
1.0.0 (2009-12-15)
初始版本。
项目详情
关闭
z3c.setuptools_mercurial-1.1.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fb0a9f1d33ce7543e87170811d5cec49d935897294b29a6c104d590344e3e6ac |
|
MD5 | 243762a7bb35b33954d7da0155031259 |
|
BLAKE2b-256 | 1d9bc30552fb493cd4919421f2003738248bfb8efb5215c2e0675f253f648a6a |