summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Ipsum <richard.ipsum@codethink.co.uk>2014-10-09 15:15:19 +0100
committerRichard Ipsum <richard.ipsum@codethink.co.uk>2014-11-04 12:40:54 +0000
commit37fa980b17dd6e95cf614d5c06600ece25429a87 (patch)
treecabcc8489a802b73f350abda210ba2c697955f37
parentcb13a25ed656a8361bb36328897d52e06d2b30fe (diff)
downloadimport-37fa980b17dd6e95cf614d5c06600ece25429a87.tar.gz
If home_page is repo url then lorry that
-rwxr-xr-ximport/pip.to_lorry20
1 files changed, 11 insertions, 9 deletions
diff --git a/import/pip.to_lorry b/import/pip.to_lorry
index b9c4223..9be1e9a 100755
--- a/import/pip.to_lorry
+++ b/import/pip.to_lorry
@@ -41,7 +41,7 @@ def fetch_package_metadata(package_name):
return requests.get('%s/%s/json'
% (PYPI_URL, package_name)).json()
-def is_repo(url):
+def find_repo_type(url):
vcss = [('git', 'clone'), ('hg', 'clone'),
('svn', 'checkout'), ('bzr', 'branch')]
@@ -55,9 +55,9 @@ def is_repo(url):
shutil.rmtree(tempdir)
if p.returncode == 0:
- return True
+ return vcs
- return False
+ return None
# also we only allow tar urls >.>
# need a compression flag for bzip I think >.>
@@ -150,6 +150,10 @@ def generate_lorry_from_tarball(package_name):
return make_tarball_lorry(package_name, url)
+def str_lorry_from_repo(package_name, repo_type, url):
+ return "%s: %s" % (package_name, json.dumps({'type': repo_type, 'url': url},
+ indent=4, sort_keys=True))
+
if len(sys.argv) != 2:
print('usage: %s python_package' % sys.argv[0], file=sys.stderr)
sys.exit(1)
@@ -158,9 +162,7 @@ package_name = sys.argv[1]
metadata = fetch_package_metadata(package_name)
info = metadata['info']
-if 'home_page' in info:
- if is_repo(info['home_page']):
- # lorry this thing
- print('not implemented yet: lorry from ', info['home_page'])
- else:
- print(generate_lorry_from_tarball(package_name))
+repo_type = find_repo_type(info['home_page']) if 'home_page' in info else None
+
+print(str_lorry_from_repo(package_name, repo_type, info['home_page'])
+ if repo_type else generate_lorry_from_tarball(package_name))