1#!/usr/bin/python
2
3import json
4import sys
5
6
7def process_section(name, section):
8 packages = set()
9
10 if "resolved" in section:
11 packages.add((name, section["resolved"]))
12
13 if "dependencies" in section:
14 for name in section["dependencies"]:
15 packages.add((name, section["dependencies"][name]))
16
17 return packages
18
19
20def main():
21 with open(sys.argv[1], 'r') as f:
22 tree = json.loads(f.read())
23
24 packages = set()
25
26 topDependencies = tree["dependencies"]
27
28 for area in topDependencies:
29 for name in topDependencies[area]:
30 packages = packages.union(process_section(name, topDependencies[area][name]))
31
32 for (name, version) in packages:
33 print("%s %s" % (name, version))
34
35
36if __name__ == "__main__":
37 main()