ZC Buildout 脚本,用于在其中执行命令行
项目描述
对于0.5版本存在bug,已上传新的0.5版本。应该对所有人再次正常工作。
注意,我不再使用buildout,并且没有积极维护此项目。如果您喜欢它或使用它,并希望将其升级到python3等,请发送补丁,或者只是提出接管项目的意愿。
=====================
cp.recipe.cmd软件包
=====================
.. 内容:
什么是cp.recipe.cmd?
=======================
此脚本用于运行一个或多个命令行。
我从iw.recipe.cmd(http://pypi.python.org/pypi/iw.recipe.cmd/0.1)中借鉴了这个脚本。
但是,当执行shell命令时,它的工作方式不同。iw.recipe.cmd会将每个命令单独推送到它自己的shell中。在这里,我将它们推送到shell脚本,然后运行该脚本。这样,像CD这样的需要在shell中维护状态的事情可以很好地工作。
我还更改了配置文件中的工作方式。
命令中有2个选项。
[命令示例]
recipe = cp.recipe.cmd
install_cmds =
echo "install commands go here"
cd /tmp
echo `pwd`
echo 'see, I exist in one shell instance.'
update_cmds =
echo "update commands go here"
在安装时,install_cmds将被转换为shell脚本,然后运行。
在更新时,update_cmds将被转换为shell脚本然后运行。如果您想update_cmds与install_cmds相同,可以这样做:
update_cmds = ${commandexample:install_cmd}
(其中commandexample是您的部分名称)
本版本中Python代码执行未更改,以下是原始文档。
我们需要一个配置文件:
>>> cfg = """
... [buildout]
... parts = cmds
...
... [cmds]
... recipe = iw.recipe.cmd
... on_install=true
... cmds= %s
... """
>>> test_file = join(sample_buildout, 'test.txt')
>>> cmds = 'touch %s' % test_file
>>> write(sample_buildout, 'buildout.cfg', cfg % cmds)
好的,现在我们可以为测试而创建一个文件:
>>> print system(buildout)
安装cmds。
>>> 'test.txt' in os.listdir(sample_buildout)
True
然后将其删除:
>>> test_file = join(sample_buildout, 'test.txt')
>>> cmds = 'rm -f %s' % test_file
>>> write(sample_buildout, 'buildout.cfg', cfg % cmds)
>>> print system(buildout)
卸载cmds。
安装cmds。
>>> 'test.txt' in os.listdir(sample_buildout)
False
我们可以运行多个命令:
>>> cmds = '''
... touch %s
... rm -f %s
... ''' % (test_file, test_file)
>>> test_file = join(sample_buildout, 'test.txt')
>>> cmds = 'rm -f %s' % test_file
>>> write(sample_buildout, 'buildout.cfg', cfg % cmds)
>>> print system(buildout)
更新cmds。
>>> 'test.txt' in os.listdir(sample_buildout)
False
我们还可以运行一些Python代码:
>>> cfg = """
... [buildout]
... parts = py py2
...
... [py]
... recipe = iw.recipe.cmd:py
... on_install=true
... cmds=
... >>> sample_buildout = buildout.get('directory', '.')
... >>> print os.listdir(sample_buildout)
... >>> shutil.rmtree(os.path.join(sample_buildout, "bin"))
... >>> print os.listdir(sample_buildout)
... [py2]
... recipe = iw.recipe.cmd:py
... on_install=true
... cmds=
... >>> def myfunc(value)
... ... return value and True or False
... >>> v = 20
... >>> print myfunc(v)
... """
>>> write(sample_buildout, 'buildout.cfg', cfg)
好的,现在我们运行它:
>>> print system(buildout)
卸载cmds。
安装py。
['.installed.cfg', 'bin', 'buildout.cfg', 'develop-eggs', 'eggs', 'parts']
['.installed.cfg', 'buildout.cfg', 'develop-eggs', 'eggs', 'parts']
安装py2。
True
注意,我不再使用buildout,并且没有积极维护此项目。如果您喜欢它或使用它,并希望将其升级到python3等,请发送补丁,或者只是提出接管项目的意愿。
=====================
cp.recipe.cmd软件包
=====================
.. 内容:
什么是cp.recipe.cmd?
=======================
此脚本用于运行一个或多个命令行。
我从iw.recipe.cmd(http://pypi.python.org/pypi/iw.recipe.cmd/0.1)中借鉴了这个脚本。
但是,当执行shell命令时,它的工作方式不同。iw.recipe.cmd会将每个命令单独推送到它自己的shell中。在这里,我将它们推送到shell脚本,然后运行该脚本。这样,像CD这样的需要在shell中维护状态的事情可以很好地工作。
我还更改了配置文件中的工作方式。
命令中有2个选项。
[命令示例]
recipe = cp.recipe.cmd
install_cmds =
echo "install commands go here"
cd /tmp
echo `pwd`
echo 'see, I exist in one shell instance.'
update_cmds =
echo "update commands go here"
在安装时,install_cmds将被转换为shell脚本,然后运行。
在更新时,update_cmds将被转换为shell脚本然后运行。如果您想update_cmds与install_cmds相同,可以这样做:
update_cmds = ${commandexample:install_cmd}
(其中commandexample是您的部分名称)
本版本中Python代码执行未更改,以下是原始文档。
我们需要一个配置文件:
>>> cfg = """
... [buildout]
... parts = cmds
...
... [cmds]
... recipe = iw.recipe.cmd
... on_install=true
... cmds= %s
... """
>>> test_file = join(sample_buildout, 'test.txt')
>>> cmds = 'touch %s' % test_file
>>> write(sample_buildout, 'buildout.cfg', cfg % cmds)
好的,现在我们可以为测试而创建一个文件:
>>> print system(buildout)
安装cmds。
>>> 'test.txt' in os.listdir(sample_buildout)
True
然后将其删除:
>>> test_file = join(sample_buildout, 'test.txt')
>>> cmds = 'rm -f %s' % test_file
>>> write(sample_buildout, 'buildout.cfg', cfg % cmds)
>>> print system(buildout)
卸载cmds。
安装cmds。
>>> 'test.txt' in os.listdir(sample_buildout)
False
我们可以运行多个命令:
>>> cmds = '''
... touch %s
... rm -f %s
... ''' % (test_file, test_file)
>>> test_file = join(sample_buildout, 'test.txt')
>>> cmds = 'rm -f %s' % test_file
>>> write(sample_buildout, 'buildout.cfg', cfg % cmds)
>>> print system(buildout)
更新cmds。
>>> 'test.txt' in os.listdir(sample_buildout)
False
我们还可以运行一些Python代码:
>>> cfg = """
... [buildout]
... parts = py py2
...
... [py]
... recipe = iw.recipe.cmd:py
... on_install=true
... cmds=
... >>> sample_buildout = buildout.get('directory', '.')
... >>> print os.listdir(sample_buildout)
... >>> shutil.rmtree(os.path.join(sample_buildout, "bin"))
... >>> print os.listdir(sample_buildout)
... [py2]
... recipe = iw.recipe.cmd:py
... on_install=true
... cmds=
... >>> def myfunc(value)
... ... return value and True or False
... >>> v = 20
... >>> print myfunc(v)
... """
>>> write(sample_buildout, 'buildout.cfg', cfg)
好的,现在我们运行它:
>>> print system(buildout)
卸载cmds。
安装py。
['.installed.cfg', 'bin', 'buildout.cfg', 'develop-eggs', 'eggs', 'parts']
['.installed.cfg', 'buildout.cfg', 'develop-eggs', 'eggs', 'parts']
安装py2。
True
项目详情
关闭
cp.recipe.cmd-0.5.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | eda80b0410d64842d4b40f14b2ee6473dfbc620015aa7f9aad3daf478a995efe |
|
MD5 | b8047b5ad1da8d996685fd4bcc55dab2 |
|
BLAKE2b-256 | 5f055022162c0bed3c48c86f1591097cff57509c60ff186da2dbe3541d8f1c0b |