|
@@ -1,6 +1,5 @@
|
|
|
import random
|
|
|
import sys
|
|
|
-import multiprocessing
|
|
|
import glob
|
|
|
import time
|
|
|
|
|
@@ -8,56 +7,57 @@ from compile import do_compile
|
|
|
from link_and_load import link_and_load
|
|
|
from make_parallel import main
|
|
|
|
|
|
-models = []
|
|
|
-code = []
|
|
|
-
|
|
|
-address = sys.argv[1]
|
|
|
-taskname = sys.argv[2]
|
|
|
-files = [a.replace("\\", "/") for a in sum([glob.glob(f) for f in sys.argv[3:]], [])]
|
|
|
-
|
|
|
-for f in files:
|
|
|
- if f.endswith(".mvc"):
|
|
|
- models.append(f)
|
|
|
- elif f.endswith(".alc"):
|
|
|
- code.append(f)
|
|
|
- else:
|
|
|
- print("Unknown file format for file " + f)
|
|
|
- print("Requires either .mvc or .alc")
|
|
|
-
|
|
|
-def initialize_SCD():
|
|
|
- import urllib2
|
|
|
- import urllib
|
|
|
- import json
|
|
|
- taskname = random.random()
|
|
|
-
|
|
|
- while 1:
|
|
|
- try:
|
|
|
- # Create new task
|
|
|
- urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % taskname, "taskname": "task_manager"}))).read()
|
|
|
- break
|
|
|
- except:
|
|
|
- time.sleep(0.01)
|
|
|
-
|
|
|
- data = []
|
|
|
- data.append(4)
|
|
|
- data.append("initialize_SCD")
|
|
|
- data.append("models/SimpleClassDiagrams")
|
|
|
- data.append("exit")
|
|
|
- data.append(2)
|
|
|
-
|
|
|
- print("Initializing SCD")
|
|
|
- urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "data": json.dumps(data), "taskname": taskname}))).read()
|
|
|
- urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "taskname": taskname}))).read()
|
|
|
- print("Initialized!")
|
|
|
-
|
|
|
-def do_compile_wrapper(filename, mode, grammar):
|
|
|
- do_compile(address, filename, str(random.random()), filename, mode, ["--debug"], grammar=grammar)
|
|
|
-
|
|
|
-# Parse all models and upload them
|
|
|
-initialize_SCD()
|
|
|
-
|
|
|
-for m in models:
|
|
|
- print("[MODEL] %s" % m)
|
|
|
- do_compile_wrapper(m, "MO", "grammars/modelling.g")
|
|
|
-
|
|
|
-main(address, taskname, code)
|
|
|
+if __name__ == "__main__":
|
|
|
+ models = []
|
|
|
+ code = []
|
|
|
+
|
|
|
+ address = sys.argv[1]
|
|
|
+ taskname = sys.argv[2]
|
|
|
+ files = [a.replace("\\", "/") for a in sum([glob.glob(f) for f in sys.argv[3:]], [])]
|
|
|
+
|
|
|
+ for f in files:
|
|
|
+ if f.endswith(".mvc"):
|
|
|
+ models.append(f)
|
|
|
+ elif f.endswith(".alc"):
|
|
|
+ code.append(f)
|
|
|
+ else:
|
|
|
+ print("Unknown file format for file " + f)
|
|
|
+ print("Requires either .mvc or .alc")
|
|
|
+
|
|
|
+ def initialize_SCD():
|
|
|
+ import urllib2
|
|
|
+ import urllib
|
|
|
+ import json
|
|
|
+ taskname = random.random()
|
|
|
+
|
|
|
+ while 1:
|
|
|
+ try:
|
|
|
+ # Create new task
|
|
|
+ urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % taskname, "taskname": "task_manager"}))).read()
|
|
|
+ break
|
|
|
+ except:
|
|
|
+ time.sleep(0.01)
|
|
|
+
|
|
|
+ data = []
|
|
|
+ data.append(4)
|
|
|
+ data.append("initialize_SCD")
|
|
|
+ data.append("models/SimpleClassDiagrams")
|
|
|
+ data.append("exit")
|
|
|
+ data.append(2)
|
|
|
+
|
|
|
+ print("Initializing SCD")
|
|
|
+ urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "data": json.dumps(data), "taskname": taskname}))).read()
|
|
|
+ urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "taskname": taskname}))).read()
|
|
|
+ print("Initialized!")
|
|
|
+
|
|
|
+ def do_compile_wrapper(filename, mode, grammar):
|
|
|
+ do_compile(address, filename, str(random.random()), filename, mode, ["--debug"], grammar=grammar)
|
|
|
+
|
|
|
+ # Parse all models and upload them
|
|
|
+ initialize_SCD()
|
|
|
+
|
|
|
+ for m in models:
|
|
|
+ print("[MODEL] %s" % m)
|
|
|
+ do_compile_wrapper(m, "MO", "grammars/modelling.g")
|
|
|
+
|
|
|
+ main(address, taskname, code)
|