summaryrefslogtreecommitdiff
path: root/baserockimport/exts/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'baserockimport/exts/utils.py')
-rw-r--r--baserockimport/exts/utils.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/baserockimport/exts/utils.py b/baserockimport/exts/utils.py
index aadefdf..2e2d741 100644
--- a/baserockimport/exts/utils.py
+++ b/baserockimport/exts/utils.py
@@ -44,13 +44,19 @@ def get_compression(url):
return None
-# Assumption: url passed to this function must have a 'standard' tar extension
-def str_tarball_lorry(extname, lorry_prefix, package_name, url):
- ''' Create a json lorry file '''
+def str_archive_lorry(archive_type, extname, lorry_prefix, package_name, url):
+ ''' Create a json lorry file from a url
+
+ Assumption: url passed to this function must have either:
+ * a 'standard' tar extension
+ * a zip extension
+ '''
+
+ assert archive_type in ('tarball', 'zip')
name = '%s/%s' % (lorry_prefix, package_name)
- lorry = {'type': 'tarball',
+ lorry = {'type': archive_type,
'url': url,
'x-products-%s' % extname: [package_name]}
@@ -58,7 +64,14 @@ def str_tarball_lorry(extname, lorry_prefix, package_name, url):
if compression:
lorry['compression'] = compression
- return json.dumps({name + "-tarball": lorry}, indent=4, sort_keys=True)
+ return json.dumps({name + "-%s" % archive_type: lorry},
+ indent=4, sort_keys=True)
+
+def str_tarball_lorry(extname, lorry_prefix, package_name, url):
+ return str_archive_lorry('tarball', extname, lorry_prefix, package_name, url)
+
+def str_zip_lorry(extname, lorry_prefix, package_name, url):
+ return str_archive_lorry('zip', extname, lorry_prefix, package_name, url)
def str_repo_lorry(extname, lorry_prefix, package_name, repo_type, url):
name = '%s/%s' % (lorry_prefix, package_name)