model_object_visitor.py 971 B

123456789101112131415161718192021222324252627282930313233
  1. from model_visitor import ModelVisitor
  2. from compiler import main as do_compile
  3. import os
  4. import urllib2
  5. import urllib
  6. import json
  7. def empty(s):
  8. return None
  9. class ModelObjectVisitor(ModelVisitor):
  10. def __init__(self, args):
  11. ModelVisitor.__init__(self, args)
  12. self.taskname = args[0]
  13. self.obj_file = args[1]
  14. self.real_file = args[2]
  15. self.address = args[3]
  16. def dump(self):
  17. v = ModelVisitor.dump(self)
  18. data = [4] + v + ["exit"]
  19. # Wait for kernel to signal that it finished
  20. data.append(2)
  21. urllib2.urlopen(urllib2.Request(self.address, urllib.urlencode({"op": "set_input", "data": json.dumps(data), "taskname": self.taskname}))).read()
  22. v = urllib2.urlopen(urllib2.Request(self.address, urllib.urlencode({"op": "get_output", "taskname": self.taskname}))).read()
  23. v = json.loads(v)
  24. if v == "DONE":
  25. return True
  26. else:
  27. return False