2 Commity 5b66e2c7fa ... 88894fc2d5

Autor SHA1 Správa Dátum
  Van Tendeloo 88894fc2d5 Wrap the "write" function on files for both Python2.7 and Python3 7 rokov pred
  Van Tendeloo 40a33c4483 Fix SyntexError for Python3.7 new keyword "async" 7 rokov pred

+ 2 - 2
src/pypdevs/controller.py

@@ -548,8 +548,8 @@ class Controller(BaseSimulator):
         self.realtime = True
         self.threading_backend = ThreadingBackend(subsystem, args)
         self.rt_zerotime = time.time()
-        async = AsynchronousComboGenerator(generator_file, self.threading_backend)
-        self.asynchronous_generator = async
+        async_gen = AsynchronousComboGenerator(generator_file, self.threading_backend)
+        self.asynchronous_generator = async_gen
         self.realtime_starttime = time.time()
         self.portmap = ports
         self.model.listeners = listeners

+ 10 - 4
src/pypdevs/tracers/tracerXML.py

@@ -35,6 +35,12 @@ class TracerXML(object):
         self.server = server
         self.uid = uid
 
+    def write_py23(self, string):
+        try:
+            self.xml_file.write(string)
+        except TypeError:
+            self.xml_file.write(string.encode())
+
     def startTracer(self, recover):
         """
         Starts up the tracer
@@ -48,13 +54,13 @@ class TracerXML(object):
             self.xml_file = open(self.filename, 'a+')
         else:
             self.xml_file = open(self.filename, 'w')
-        self.xml_file.write(("<?xml version=\"1.0\"?>\n" + "<trace>\n").encode())
+        self.write_py23("<?xml version=\"1.0\"?>\n" + "<trace>\n")
 
     def stopTracer(self):
         """
         Stop the tracer
         """
-        self.xml_file.write("</trace>")
+        self.write_py23("</trace>")
         self.xml_file.flush()
 
     def trace(self, model_name, timestamp, event_kind, port_info, xml_state, str_state):
@@ -68,13 +74,13 @@ class TracerXML(object):
         :param xml_state: XML representation of the state
         :param str_state: normal string representation of the state
         """
-        self.xml_file.write(("<event>\n"
+        self.write_py23("<event>\n"
                           + "<model>" + model_name + "</model>\n"
                           + "<time>" + str(timestamp[0]) + "</time>\n"
                           + "<kind>" + event_kind + "</kind>\n"
                           + port_info
                           + "<state>\n"+ xml_state + "<![CDATA[" + str_state + "]]>\n</state>\n"
-                          + "</event>\n").encode())
+                          + "</event>\n")
 
     def traceInternal(self, aDEVS):
         """