Guest User

Untitled

a guest
Jun 22nd, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import sys
  4. import json
  5. import csv
  6.  
  7. print sys.argv,
  8.  
  9. if len(sys.argv) < 2:
  10. print "Usage: process.py foundation.json"
  11. quit()
  12.  
  13. with open(sys.argv[1], "r") as read_file:
  14. data = json.load(read_file)
  15.  
  16. print type(data)
  17. print data[0] # orgs
  18. #print data[1] # spaces
  19. print "Total Orgs ", len(data[0]["orgs"])
  20. print "Total Spaces ", len(data[1]["spaces"])
  21. print "Total Apps ", len(data[2]["apps"])
  22.  
  23. orgsToSkip = ["system", "p-dataflow", "p-spring-cloud-services"]
  24.  
  25. orgs = {}
  26. spaces = {}
  27.  
  28. systemOrgsGuid = []
  29. systemSpacesGuid = []
  30.  
  31. # Creates orgs dict and capture System Org GUID
  32. #print data[0]["orgs"]
  33. for org in data[0]["orgs"]:
  34. orgs[org["org_guid"]] = org["name"]
  35. if org["name"] in orgsToSkip:
  36. systemOrgsGuid.append(org["org_guid"])
  37.  
  38. print "System org guid is ", systemOrgsGuid
  39.  
  40. # Creates space dict
  41. #print data[1]["spaces"]
  42. for space in data[1]["spaces"]:
  43. spaces[space["space_guid"]] = {"name": space["name"], "org": orgs[space["org"]]}
  44. if space["org"] in systemOrgsGuid:
  45. systemSpacesGuid.append(space["space_guid"])
  46.  
  47. print "System spaces guid is ", systemSpacesGuid
  48.  
  49. apps = {}
  50.  
  51. # Creating App CSV
  52. systemApps = 0;
  53.  
  54. with open('apps.csv', 'w') as csvfile:
  55. fieldnames = data[2]["apps"][0].keys()
  56. fieldnames.remove('space')
  57. fieldnames.append('org_name')
  58. fieldnames.append('space_name')
  59. writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
  60. writer.writeheader()
  61.  
  62. for app in data[2]["apps"]:
  63. if app["space"] in systemSpacesGuid:
  64. #print "Skipping system app ", app["name"]
  65. systemApps = systemApps + 1
  66. else:
  67. #print " * ", app["name"], "in org ", spaces[app["space"]]["org"], " and space ", spaces[app["space"]]["name"]
  68. app["space_name"] = spaces[app["space"]]["name"]
  69. app["org_name"] = spaces[app["space"]]["org"]
  70. app.pop('space', None)
  71. #print app
  72. writer.writerow(app)
  73.  
  74.  
  75. print "skipped ", systemApps, " system apps"
Add Comment
Please, Sign In to add comment