comparison gaiac_pm_data_pulling/gaiac_pm_data_pulling.py @ 2:69b3190e5e64 draft

planemo upload for repository https://github.com/jaidevjoshi83/gaiac commit c31ef5726cd1d2659da9aeb956c22fb834b177ff
author jay
date Fri, 23 May 2025 17:57:30 +0000
parents 8a99d8639aa2
children 1f9e67edde6a
comparison
equal deleted inserted replaced
1:8a99d8639aa2 2:69b3190e5e64
13 import urllib.request 13 import urllib.request
14 import json 14 import json
15 15
16 def get_file_list(ip): 16 def get_file_list(ip):
17 17
18 url = "%s/list-files"%(ip) 18 url = "%s/api/list-files"%(ip)
19 19
20 with urllib.request.urlopen(url) as response: 20 with urllib.request.urlopen(url) as response:
21 data = response.read() 21 data = response.read()
22 file_list = json.loads(data) 22 file_list = json.loads(data)
23 23
31 api_data = {ip:{ 31 api_data = {ip:{
32 32
33 }} 33 }}
34 34
35 for i in get_file_list(ip): 35 for i in get_file_list(ip):
36 # print("http://"+ip+'/download/'+i) 36 api_data[ip][i] = ip+'/api/download/'+i
37 api_data[ip][i] = ip+'/download/'+i
38
39 37
40 ul = [] 38 ul = []
41 for dataset, url in api_data[ip].items(): 39 for dataset, url in api_data[ip].items():
42 40
43 ul.append({ 41 ul.append({
45 'value': url, 43 'value': url,
46 'options': [], 44 'options': [],
47 'selected': False 45 'selected': False
48 }) 46 })
49 47
50 # for urlname, genomes in api_data.items():
51 # # URL-safe base64 encoding for the URL name
52 # urlname_64 = urlname
53 # ul = []
54 # for genome, assets in genomes.items():
55 # al = []
56
57 # ul.append({
58 # 'name': genome,
59 # 'value': genome,
60 # 'options': [],
61 # 'selected': False
62 # })
63
64 return ul 48 return ul
65 except Exception as e: 49 except Exception as e:
66 # Handle any potential errors 50 # Handle any potential errors
67 return [{ 51 return [{
68 'name': escape(str(e)), 52 'name': escape(str(e)),
71 'selected': False 55 'selected': False
72 }] 56 }]
73 57
74 if __name__ == '__main__': 58 if __name__ == '__main__':
75 59
76 simulate_dynamic_options('http://192.168.1.202:8080') 60 simulate_dynamic_options('http://iotprojects.ddns.net')
77
78 # for i in simulate_dynamic_options('192.168.1.202:8080')[0]['options']:
79 # print(i)
80 # print(i)
81 # parser = argparse.ArgumentParser()
82 # parser.add_argument('-n', '--names', dest='names', action='store', default=None, help='Table names to reload')
83 # parser.add_argument('-u', '--url', dest='url', action='store', default=None, help='Base url for reload')
84 # parser.add_argument('-k', '--key', dest='key', action='store', default=None, help='Galaxy API Key')
85 # parser.add_argument('-g', '--graceful', dest='graceful', action='store_true', help='Fail gracefully')
86
87 # args = parser.parse_args()
88 # try:
89 # if not args.names:
90 # tables = requests.get(urljoin(args.url, "api/tool_data"), params={'key': args.key}).json()
91 # args.names = [d.get('name') for d in tables]
92 # for name in args.names:
93 # print(requests.get(urljoin(args.url, "api/tool_data/%s/reload" % (name)), params={'key': args.key}).json())
94 # except Exception as e:
95 # if args.graceful:
96 # print("Failed to reload data tables:\n%s" % (e))
97 # else:
98 # raise e