Mercurial > repos > iuc > packaged_annotation_loader
annotate retrieve_meta.py @ 0:0de428c589f3 draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
| author | iuc |
|---|---|
| date | Tue, 04 Jan 2022 18:34:48 +0000 |
| parents | |
| children |
| rev | line source |
|---|---|
|
0
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
1 #!/usr/bin/env python |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
2 |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
3 import argparse |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
4 import json |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
5 import os |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
6 |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
7 import yaml |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
8 |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
9 if __name__ == "__main__": |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
10 parser = argparse.ArgumentParser() |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
11 |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
12 parser.add_argument('galaxy_json') |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
13 parser.add_argument( |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
14 '-o', '--ofile', |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
15 required=True |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
16 ) |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
17 parser.add_argument( |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
18 '--format', choices=['yaml', 'tab'], default='yaml' |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
19 ) |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
20 args = parser.parse_args() |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
21 |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
22 galaxy_collection_info = json.load(open(args.galaxy_json)) |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
23 annotation_info = next(iter(galaxy_collection_info.values()))['elements'] |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
24 selected_ids = {i['name'] for i in annotation_info} |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
25 package_meta_file = os.path.join( |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
26 os.path.dirname(annotation_info[0]['filename']), |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
27 'meta.yml' |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
28 ) |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
29 meta = yaml.safe_load(open(package_meta_file)) |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
30 meta['records'] = [ |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
31 rec for rec in meta['records'] if rec['id'] in selected_ids |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
32 ] |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
33 |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
34 with open(args.ofile, 'w') as fo: |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
35 if args.format == 'yaml': |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
36 yaml.dump( |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
37 meta, fo, allow_unicode=False, default_flow_style=False |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
38 ) |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
39 else: |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
40 print('Annotation\tVersion', file=fo) |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
41 for record in meta['records']: |
|
0de428c589f3
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/packaged_annotation_loader commit 339a6c16fb6d944d4e147b5192cbeb0ebd26d18e"
iuc
parents:
diff
changeset
|
42 print(record['name'], record['version'], sep='\t', file=fo) |
