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

Fixed process_signature operation

Yentl Van Tendeloo 8 роки тому
батько
коміт
285bf53fd4
3 змінених файлів з 11 додано та 3 видалено
  1. 4 1
      classes/modelverse/modelverse.xml
  2. 1 0
      classes/window/process_enact.xml
  3. 6 2
      frontend.py

+ 4 - 1
classes/modelverse/modelverse.xml

@@ -566,7 +566,10 @@
                         <transition cond="self.expect_response_partial('Success: ', pop=False)" target="../../wait_for_action/history">
                             <script>
                                 results = self.split_response(self.responses.pop(0))
-                                signature = {i[0]: i[1] for i in result[1:].strip().split(" : ", 1)}
+                                signature = {}
+                                for result in results:
+                                    key, value = result.strip().split(" : ", 1)
+                                    signature[key] = value
                             </script>
                             <raise event="result">
                                 <parameter expr="signature"/>

+ 1 - 0
classes/window/process_enact.xml

@@ -309,6 +309,7 @@
                         <parameter name="result"/>
                         <script>
                             self.input_signature = result
+                            self.input_signature_iter = dict(self.input_signature)
                         </script>
                     </transition>
                 </state>

+ 6 - 2
frontend.py

@@ -1,7 +1,7 @@
 """
 Generated by Statechart compiler by Glenn De Jonghe, Joeri Exelmans, Simon Van Mierlo, and Yentl Van Tendeloo (for the inspiration)
 
-Date:   Tue Nov  7 14:01:06 2017
+Date:   Tue Nov  7 14:49:14 2017
 
 Model author: Yentl Van Tendeloo
 Model name:   Modelverse Visual Editor - Tkinter Version 
@@ -3098,7 +3098,10 @@ class Modelverse(RuntimeClassBase):
     
     def _initialized_behaviour_operations_process_signature_0_exec(self, parameters):
         results = self.split_response(self.responses.pop(0))
-        signature = {i[0]: i[1] for i in result[1:].strip().split(" : ", 1)}
+        signature = {}
+        for result in results:
+            key, value = result.strip().split(" : ", 1)
+            signature[key] = value
         self.raiseInternalEvent(Event("result", None, [signature]))
     
     def _initialized_behaviour_operations_process_signature_0_guard(self, parameters):
@@ -8984,6 +8987,7 @@ class ProcessEnactor(RuntimeClassBase, tk.Toplevel, SCCDWidget):
     def _all_redraw_signature_read_signature_0_exec(self, parameters):
         result = parameters[0]
         self.input_signature = result
+        self.input_signature_iter = dict(self.input_signature)
     
     def _all_redraw_signature_add_input_check_next_0_exec(self, parameters):
         self.counter += 1