compile.py 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. import sys
  2. import os
  3. import urllib2
  4. import subprocess
  5. def do_compile(address, filename, username, modulename, mode, optionals=[], grammar="grammars/actionlanguage.g"):
  6. filename = os.path.realpath(filename)
  7. try:
  8. urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="%s"' % username)).read()
  9. subprocess.check_call([sys.executable, "hutn_compiler/compiler.py", filename, grammar, mode, username, modulename, filename, address] + optionals, cwd="interface/HUTN")
  10. except urllib2.URLError:
  11. return 2
  12. except:
  13. urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="__%s"' % username)).read()
  14. return 1
  15. urllib2.urlopen(urllib2.Request(address, 'op=set_input&username=user_manager&value="__%s"' % username)).read()
  16. return 0
  17. if __name__ == "__main__":
  18. if len(sys.argv) != 6:
  19. sys.stderr.write("Expected different parameters!\n")
  20. sys.stderr.write(" %s address filename username modulename mode\n" % sys.argv[0])
  21. sys.exit(1)
  22. else:
  23. address = sys.argv[1]
  24. filename = sys.argv[2]
  25. username = sys.argv[3]
  26. modulename = sys.argv[4]
  27. mode = sys.argv[5]
  28. sys.exit(do_compile(address, filename, username, modulename, mode))