linker.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import sys
  2. import urllib
  3. import urllib2
  4. import json
  5. sys.path.append("scripts")
  6. def link(address, username, objects):
  7. # Read out all symbol tables that are to be linked
  8. definers = {}
  9. users = {}
  10. def flush_data(data):
  11. if data:
  12. urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "data": json.dumps(data), "username": username})), timeout=10).read()
  13. return []
  14. flush_data([3, "link_and_load"] + objects + ["", "main"])
  15. v = urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "username": username}))).read()
  16. v = json.loads(v)
  17. if "OK" not in v:
  18. print(v)
  19. raise Exception("Linking error")
  20. if __name__ == "__main__":
  21. if len(sys.argv) == 1:
  22. print("No username defined")
  23. else:
  24. address = sys.argv[1]
  25. username = sys.argv[2]
  26. objects = set(sys.argv[3:])
  27. if objects:
  28. link(address, username, objects)
  29. else:
  30. print("No files to link defined")