comparison data_manager/data_manager.py @ 1:f7ad11d31098 draft

planemo upload for repository https://github.com/bernt-matthias/mb-galaxy-tools/tree/master/data_managers/data_manager_megan_tools commit 0e93d2fb8e3c10949811b19ec3329bd1abbb73bf-dirty
author matthias
date Thu, 01 Nov 2018 14:40:23 -0400
parents 1f839ba466da
children 24c02af5fd77
comparison
equal deleted inserted replaced
0:1f839ba466da 1:f7ad11d31098
45 "gi2seed-May2015X.bin.zip":"gi2seed-", 45 "gi2seed-May2015X.bin.zip":"gi2seed-",
46 "gi2kegg-Aug2016X-ue.bin.zip":"gi2kegg" 46 "gi2kegg-Aug2016X-ue.bin.zip":"gi2kegg"
47 } 47 }
48 48
49 def url_download(fname, workdir): 49 def url_download(fname, workdir):
50 file_path = os.path.join(workdir, 'download.dat') 50 """
51 download http://ab.inf.uni-tuebingen.de/data/software/megan6/download/FNAME
52 to workdir
53 and unzip zip file (not gz)
54
55 return the name of the resulting file
56 ie gz-file of extracted file in zip-file
57 """
58 file_path = os.path.join(workdir, fname)
51 if not os.path.exists(workdir): 59 if not os.path.exists(workdir):
52 os.makedirs(workdir) 60 os.makedirs(workdir)
53 src = None 61 src = None
54 dst = None 62 dst = None
55 try: 63 try:
66 if src: 74 if src:
67 src.close() 75 src.close()
68 if zipfile.is_zipfile(file_path): 76 if zipfile.is_zipfile(file_path):
69 fh = zipfile.ZipFile(file_path, 'r') 77 fh = zipfile.ZipFile(file_path, 'r')
70 else: 78 else:
71 return 79 return fname
72 fh.extractall(workdir) 80 fh.extractall(workdir)
73 os.remove(file_path) 81 os.remove(file_path)
74 82 unzipped = os.listdir(workdir)
83 assert len(unzipped) == 1
84 return unzipped[0]
75 85
76 def main(fname, outjson): 86 def main(fname, outjson):
77 workdir = os.path.join(os.getcwd(), 'megan_tools') 87 workdir = os.path.join(os.getcwd(), 'megan_tools')
78 url_download(fname, workdir) 88 path = url_download(fname, workdir)
79 89
80 data_manager_entry = {} 90 data_manager_entry = {}
81 data_manager_entry['value'] = fname.split(".")[0] 91 data_manager_entry['value'] = fname.split(".")[0]
82 data_manager_entry['name'] = FILE2NAME[fname] 92 data_manager_entry['name'] = FILE2NAME[fname]
83 data_manager_entry['type'] = FILE2TYPE[fname] 93 data_manager_entry['type'] = FILE2TYPE[fname]
84 data_manager_entry['path'] = '.' 94 data_manager_entry['path'] = path
85 95
86 data_manager_json = dict(data_tables=dict(megan_tools=data_manager_entry)) 96 data_manager_json = dict(data_tables=dict(megan_tools=data_manager_entry))
87 97
88 params = json.loads(open(outjson).read()) 98 params = json.loads(open(outjson).read())
89 target_directory = params['output_data'][0]['extra_files_path'] 99 target_directory = params['output_data'][0]['extra_files_path']