equal
deleted
inserted
replaced
30 import sys |
30 import sys |
31 import traceback |
31 import traceback |
32 from time import time |
32 from time import time |
33 import _ctypes # pylint: disable=wrong-import-order |
33 import _ctypes # pylint: disable=wrong-import-order |
34 import Pyro.core as pyro |
34 import Pyro.core as pyro |
|
35 import six |
35 |
36 |
36 from runtime.typemapping import TypeTranslator |
37 from runtime.typemapping import TypeTranslator |
37 from runtime.loglevels import LogLevelsDefault, LogLevelsCount |
38 from runtime.loglevels import LogLevelsDefault, LogLevelsCount |
38 from runtime import PlcStatus |
39 from runtime import PlcStatus |
39 |
40 |
145 self.mutex.release() |
146 self.mutex.release() |
146 |
147 |
147 if _job.success: |
148 if _job.success: |
148 return _job.result |
149 return _job.result |
149 else: |
150 else: |
150 raise _job.exc_info[0], _job.exc_info[1], _job.exc_info[2] |
151 exc_type = _job.exc_info[0] |
|
152 exc_value = _job.exc_info[1] |
|
153 exc_traceback = _job.exc_info[2] |
|
154 six.reraise(exc_type, exc_value, exc_traceback) |
151 |
155 |
152 def quit(self): |
156 def quit(self): |
153 """ |
157 """ |
154 unblocks main thread, and terminate execution of runloop() |
158 unblocks main thread, and terminate execution of runloop() |
155 """ |
159 """ |
695 |
699 |
696 self.TraceThread = None |
700 self.TraceThread = None |
697 |
701 |
698 def RemoteExec(self, script, *kwargs): |
702 def RemoteExec(self, script, *kwargs): |
699 try: |
703 try: |
700 exec script in kwargs |
704 exec(script, kwargs) |
701 except Exception: |
705 except Exception: |
702 _e_type, e_value, e_traceback = sys.exc_info() |
706 _e_type, e_value, e_traceback = sys.exc_info() |
703 line_no = traceback.tb_lineno(get_last_traceback(e_traceback)) |
707 line_no = traceback.tb_lineno(get_last_traceback(e_traceback)) |
704 return (-1, "RemoteExec script failed!\n\nLine %d: %s\n\t%s" % |
708 return (-1, "RemoteExec script failed!\n\nLine %d: %s\n\t%s" % |
705 (line_no, e_value, script.splitlines()[line_no - 1])) |
709 (line_no, e_value, script.splitlines()[line_no - 1])) |