Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import sys
- import json
- import csv
- print sys.argv,
- if len(sys.argv) < 2:
- print "Usage: process.py foundation.json"
- quit()
- with open(sys.argv[1], "r") as read_file:
- data = json.load(read_file)
- print type(data)
- print data[0] # orgs
- #print data[1] # spaces
- print "Total Orgs ", len(data[0]["orgs"])
- print "Total Spaces ", len(data[1]["spaces"])
- print "Total Apps ", len(data[2]["apps"])
- orgsToSkip = ["system", "p-dataflow", "p-spring-cloud-services"]
- orgs = {}
- spaces = {}
- systemOrgsGuid = []
- systemSpacesGuid = []
- # Creates orgs dict and capture System Org GUID
- #print data[0]["orgs"]
- for org in data[0]["orgs"]:
- orgs[org["org_guid"]] = org["name"]
- if org["name"] in orgsToSkip:
- systemOrgsGuid.append(org["org_guid"])
- print "System org guid is ", systemOrgsGuid
- # Creates space dict
- #print data[1]["spaces"]
- for space in data[1]["spaces"]:
- spaces[space["space_guid"]] = {"name": space["name"], "org": orgs[space["org"]]}
- if space["org"] in systemOrgsGuid:
- systemSpacesGuid.append(space["space_guid"])
- print "System spaces guid is ", systemSpacesGuid
- apps = {}
- # Creating App CSV
- systemApps = 0;
- with open('apps.csv', 'w') as csvfile:
- fieldnames = data[2]["apps"][0].keys()
- fieldnames.remove('space')
- fieldnames.append('org_name')
- fieldnames.append('space_name')
- writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
- writer.writeheader()
- for app in data[2]["apps"]:
- if app["space"] in systemSpacesGuid:
- #print "Skipping system app ", app["name"]
- systemApps = systemApps + 1
- else:
- #print " * ", app["name"], "in org ", spaces[app["space"]]["org"], " and space ", spaces[app["space"]]["name"]
- app["space_name"] = spaces[app["space"]]["name"]
- app["org_name"] = spaces[app["space"]]["org"]
- app.pop('space', None)
- #print app
- writer.writerow(app)
- print "skipped ", systemApps, " system apps"
Add Comment
Please, Sign In to add comment