ZC Buildout recipe to execute a commande line
Project description
What is iw.recipe.cmd ?
This recipe is used to run one or more command lines
We need a config file:
>>> 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)
Ok, so now we can touch a file:
>>> print system(buildout) Installing cmds. >>> 'test.txt' in os.listdir(sample_buildout) True
And remove it:
>>> test_file = join(sample_buildout, 'test.txt') >>> cmds = 'rm -f %s' % test_file >>> write(sample_buildout, 'buildout.cfg', cfg % cmds) >>> print system(buildout) Uninstalling cmds. Installing cmds. >>> 'test.txt' in os.listdir(sample_buildout) False
We can run more than one commands:
>>> 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) Updating cmds. >>> 'test.txt' in os.listdir(sample_buildout) False
We can also run some python code:
>>> 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)
Ok, so now we run it:
>>> print system(buildout) Uninstalling cmds. Installing py. ['.installed.cfg', 'bin', 'buildout.cfg', 'develop-eggs', 'eggs', 'parts'] ['.installed.cfg', 'buildout.cfg', 'develop-eggs', 'eggs', 'parts'] Installing py2. True
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for iw.recipe.cmd-0.1dev_r6594-py2.4.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfe152f513e7fa40be9c03831f50e4a6f82e62c36c9c2504b3a72e45e688d24b |
|
MD5 | 3e4d2c669e4c995bb1fb52d96b3eb399 |
|
BLAKE2b-256 | b487185ff8beb0a129a0644efed54e6aea669b17085f35886b7aade4a6da9297 |