Reconstruct find meta
[scm/meta/abs.git] / find_meta_info.py
1 #!/usr/bin/env python3
2
3 import sys
4 import xml.etree.cElementTree as ET
5
6
7 def parseXML(xmlfile):
8     tree = ET.parse(xmlfile)
9     root = tree.getroot()
10     return root.find('abs_config')
11
12
13 if __name__ == "__main__":
14
15     meta_path = sys.argv[1]
16     repo_name = sys.argv[2]
17     return_key = sys.argv[3]
18
19     info = {}
20
21     try:
22         for item in parseXML(meta_path):
23             branch_output = item.find('branch').get('output')
24             branch_source = item.find('branch').get('source')
25             rootstrap_url = item.find('rootstrap').get('url')
26             for package in item.find('packages'):
27                 package_name = package.get('repo', package.get('name'))
28                 info[package_name] = {
29                         'package_name': package_name,
30                         'branch_output': branch_output,
31                         'branch_source': branch_source,
32                         'rootstrap_url': rootstrap_url
33                     }
34         print("{}".format(info[repo_name][return_key]))
35     except Exception as err:
36         err = err
37         print("")
38         sys.exit(1)