Переглянути джерело

Fixed startup of the wrapper

Yentl Van Tendeloo 8 роки тому
батько
коміт
1adcf6b600
2 змінених файлів з 28 додано та 19 видалено
  1. 22 18
      wrappers/modelverse.py
  2. 6 1
      wrappers/test_modelverse.py

+ 22 - 18
wrappers/modelverse.py

@@ -12,12 +12,12 @@ mode = 0
 
 def _input(value):
     # Ugly json encoding of primitives
-    value = '"%s"' if type(value) == str else value
-    urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": value, "taskname": taskname})))
+    value = '"%s"' % value if type(value) == str else value
+    urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": value, "taskname": taskname}))).read()
 
 def _input_raw(value, taskname):
     # Ugly json encoding of primitives
-    urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": value, "taskname": taskname})))
+    urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": value, "taskname": taskname}))).read()
 
 def _compile_AL(AL_file):
     # Compile an action language file and send the compiled code
@@ -30,12 +30,12 @@ def _compile_model(model_file):
 def _output():
     try:
         global last_output
-        last_output = urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "taskname": taskname})))
+        last_output = json.loads(urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "taskname": taskname}))).read())
         return last_output
     except:
         raise UnknownError()
 
-def _output_last():
+def _last_output():
     return last_output
 
 # Exceptions
@@ -85,7 +85,7 @@ def init(address_param="http://localhost:8001"):
     global address
     address = address_param
     try:
-        _input_raw('"%s"' % taskname, "user_manager")
+        _input_raw('"%s"' % taskname, "task_manager")
         mode = 1
     except URLError as e:
         raise ConnectionError(e.reason)
@@ -119,6 +119,9 @@ def register(username, password):
         _input(username)
         _input(password)
         _input(password)
+        while (_output() != "Ready for command..."):
+            print(_last_output())
+            pass
         mode = 2
     except Exception as e:
         raise UnknownError(str(e))
@@ -173,9 +176,10 @@ def model_list():
         lst = []
         while (_output() != "Ready for command..."):
             v = _last_output()
+            print("Got: " + str(v))
             m, mm = v.split(":")
-            m.trim()
-            mm.trim()
+            m.strip()
+            mm.strip()
             lst.append((m, mm))
         return lst
     except Exception as e:
@@ -193,8 +197,8 @@ def model_list_full():
         while (_output() != "Ready for command..."):
             v = _last_output()
             m, mm = v.split(":")
-            m.trim()
-            mm.trim()
+            m.strip()
+            mm.strip()
             perm, own, grp, m = m.split(" ")
             lst.append((m, mm, own, grp, perm))
         return lst
@@ -256,8 +260,8 @@ def list():
         while (_output() != "Ready for command..."):
             v = _last_output()
             m, mm = v.split(":")
-            m.trim()
-            mm.trim()
+            m.strip()
+            mm.strip()
             lst.append((m, mm))
         return lst
     except Exception as e:
@@ -275,7 +279,7 @@ def types():
         while (_output() != "Ready for command..."):
             v = _last_output()
             m, mm = v.split(":")
-            m.trim()
+            m.strip()
             lst.append(m)
         return lst
     except Exception as e:
@@ -292,12 +296,12 @@ def read(ID):
         _input("read")
         _input(ID)
         _output()
-        t = _output().split(":")[1].trim()
+        t = _output().split(":")[1].strip()
         if (not _output().startswith("Source:")):
             rval = (t, None)
         else:
-            src = _last_output().split(":")[1].trim()
-            trg = _output().split(":")[1].trim()
+            src = _last_output().split(":")[1].strip()
+            trg = _output().split(":")[1].strip()
             rval = (t, (src, trg))
         while (_output() != "Ready for command..."):
             pass
@@ -321,8 +325,8 @@ def read_attrs(ID):
             r = _last_output()
             key, value = r.split(":")
             _, value = value.split("=")
-            key.trim()
-            value.trim()
+            key.strip()
+            value.strip()
             rval[key] = value
         return rval
     except Exception as e:

+ 6 - 1
wrappers/test_modelverse.py

@@ -1,4 +1,9 @@
 from modelverse import *
+from random import random
+
+username = str(random())
+password = str(random())
 
 init()
-register("user1", "password")
+register(username, password)
+print(model_list())