ZC buildout recipe to checkout a dir from a svn repository and archive it in a folder
Project description
This product is used to download packages from svn and tar them in a directory.
We need some buildout vars:
>>> data_dir = join(test_dir, 'data') >>> parts_dir = join(data_dir, 'parts') >>> buildout = {'instance': {'location': test_dir}, ... 'buildout': {'directory': test_dir, ... 'install-from-cache': False, ... 'download-cache':False, ... 'parts-directory': parts_dir}} >>> name = 'svn-packages'
The recipe will checkout the package from his repository and put it in the section. For testing, we need a local repository:
>>> repository = join(test_dir, 'test_repos') >>> if isdir(repository): rmtree(repository) >>> copytree(join(test_dir, 'repos'), repository) >>> if isdir(os.path.join(parts_dir, 'svn-packages')): ... rmtree(os.path.join(parts_dir, 'svn-packages'))
Then, the recipe should work:
>>> options = { ... 'urls':'file:///%s/my_package/trunk my_package' % repository} >>> from iw.recipe.subversion import Recipe >>> recipe = Recipe(buildout, name, options) >>> os.path.join(parts_dir, 'svn-packages') == recipe.install() True
Ok, we got it:
>>> ls(parts_dir, 'svn-packages') my_package
If a download-cache directory is given, then an archive is created in the specified path:
>>> cache = join(data_dir, 'cache') >>> buildout['buildout']['download-cache'] = cache >>> recipe = Recipe(buildout, name, options) >>> if isdir(cache): rmtree(cache) >>> files = recipe.install() >>> ls(cache, 'dist') my_package-r2.tar.gz
Ok, now we can work offline. The package will be installed from the cache directory:
>>> rmtree(repository) >>> rmtree(parts_dir) >>> buildout['buildout']['install-from-cache'] = 'true' >>> buildout['buildout']['download-cache'] = cache >>> recipe = Recipe(buildout, name, options) >>> files = recipe.install() >>> ls(parts_dir, 'svn-packages') my_package >>> ls(parts_dir, 'svn-packages', 'my_package') __init__.py README.txt sub
Test update:
>>> recipe.update() is not None 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.subversion-0.1dev_r6551-py2.4.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8a5159eeec54f62d70f2ce45f6623753771d662e9ff479cba59328a1016f22f |
|
MD5 | 72ff5d277899a9e87fc6dd133a9b5a69 |
|
BLAKE2b-256 | d58c42e1e6106db253065cdb903db78cf7f65e167472547625ae7769ab9b08e3 |