Mercurial > repos > devteam > data_manager_fetch_ncbi_taxonomy
diff data_manager/data_manager.py @ 1:926847693e4d draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/data_managers/data_manager_fetch_ncbi_taxonomy/ commit 8652f36a3a3838dca989426961561e81432acf4f
author | iuc |
---|---|
date | Tue, 04 Apr 2017 18:08:21 -0400 |
parents | fafcd2f5db36 |
children | 4af4e175db0d |
line wrap: on
line diff
--- a/data_manager/data_manager.py Thu Oct 08 12:14:42 2015 -0400 +++ b/data_manager/data_manager.py Tue Apr 04 18:08:21 2017 -0400 @@ -3,17 +3,15 @@ import json import os import shutil -import sys import tarfile -import urllib2 import zipfile +try: + # For Python 3.0 and later + from urllib.request import Request, urlopen +except ImportError: + # Fall back to Python 2 imports + from urllib2 import Request, urlopen -parser = argparse.ArgumentParser(description='Create data manager json.') -parser.add_argument('--out', dest='output', action='store', help='JSON filename') -parser.add_argument('--name', dest='name', action='store', default=str(datetime.date.today()), help='Data table entry unique ID') -parser.add_argument('--url', dest='url', action='store', default='ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz', help='Download URL') - -args = parser.parse_args() def url_download(url, workdir): file_path = os.path.join(workdir, 'download.dat') @@ -22,22 +20,18 @@ src = None dst = None try: - req = urllib2.Request(url) - src = urllib2.urlopen(req) - dst = open(file_path, 'wb') - while True: - chunk = src.read(2**10) - if chunk: - dst.write(chunk) - else: - break - except Exception, e: - print >>sys.stderr, str(e) + req = Request(url) + src = urlopen(req) + with open(file_path, 'wb') as dst: + while True: + chunk = src.read(2**10) + if chunk: + dst.write(chunk) + else: + break finally: if src: src.close() - if dst: - dst.close() if tarfile.is_tarfile(file_path): fh = tarfile.open(file_path, 'r:*') elif zipfile.is_zipfile(file_path): @@ -64,5 +58,12 @@ shutil.move(os.path.join(output_path, filename), target_directory) file(args.output, 'w').write(json.dumps(data_manager_json)) + if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Create data manager json.') + parser.add_argument('--out', dest='output', action='store', help='JSON filename') + parser.add_argument('--name', dest='name', action='store', default=str(datetime.date.today()), help='Data table entry unique ID') + parser.add_argument('--url', dest='url', action='store', default='ftp://ftp.ncbi.nih.gov/pub/taxonomy/taxdump.tar.gz', help='Download URL') + args = parser.parse_args() + main(args)