diff options
author | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-10-09 15:15:19 +0100 |
---|---|---|
committer | Richard Ipsum <richard.ipsum@codethink.co.uk> | 2014-11-04 12:40:54 +0000 |
commit | 37fa980b17dd6e95cf614d5c06600ece25429a87 (patch) | |
tree | cabcc8489a802b73f350abda210ba2c697955f37 | |
parent | cb13a25ed656a8361bb36328897d52e06d2b30fe (diff) | |
download | import-37fa980b17dd6e95cf614d5c06600ece25429a87.tar.gz |
If home_page is repo url then lorry that
-rwxr-xr-x | import/pip.to_lorry | 20 |
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)) |