equal
deleted
inserted
replaced
26 from threading import Thread, Lock, Semaphore, Event |
26 from threading import Thread, Lock, Semaphore, Event |
27 import ctypes |
27 import ctypes |
28 import os |
28 import os |
29 import sys |
29 import sys |
30 import traceback |
30 import traceback |
|
31 import shutil |
31 from time import time |
32 from time import time |
32 import _ctypes # pylint: disable=wrong-import-order |
33 import hashlib |
|
34 from tempfile import mkstemp |
|
35 from functools import wraps, partial |
33 from six.moves import xrange |
36 from six.moves import xrange |
34 from past.builtins import execfile |
37 from past.builtins import execfile |
35 import md5 |
38 import _ctypes |
36 from tempfile import mkstemp |
|
37 import shutil |
|
38 from functools import wraps, partial |
|
39 |
39 |
40 from runtime.typemapping import TypeTranslator |
40 from runtime.typemapping import TypeTranslator |
41 from runtime.loglevels import LogLevelsDefault, LogLevelsCount |
41 from runtime.loglevels import LogLevelsDefault, LogLevelsCount |
42 from runtime.Stunnel import getPSKID |
42 from runtime.Stunnel import getPSKID |
43 from runtime import PlcStatus |
43 from runtime import PlcStatus |
463 shutil.rmtree(self.tmpdir) |
463 shutil.rmtree(self.tmpdir) |
464 os.mkdir(self.tmpdir) |
464 os.mkdir(self.tmpdir) |
465 |
465 |
466 @RunInMain |
466 @RunInMain |
467 def SeedBlob(self, seed): |
467 def SeedBlob(self, seed): |
468 blob = (mkstemp(dir=self.tmpdir) + (md5.new(),)) |
468 blob = (mkstemp(dir=self.tmpdir) + (hashlib.new('md5'),)) |
469 _fobj, _path, md5sum = blob |
469 _fobj, _path, md5sum = blob |
470 md5sum.update(seed) |
470 md5sum.update(seed) |
471 newBlobID = md5sum.digest() |
471 newBlobID = md5sum.digest() |
472 self.blobs[newBlobID] = blob |
472 self.blobs[newBlobID] = blob |
473 return newBlobID |
473 return newBlobID |
604 self.TraceLock.release() |
604 self.TraceLock.release() |
605 return Traces |
605 return Traces |
606 |
606 |
607 @RunInMain |
607 @RunInMain |
608 def GetTraceVariables(self, DebugToken): |
608 def GetTraceVariables(self, DebugToken): |
609 if (DebugToken is not None and DebugToken == self.DebugToken): |
609 if DebugToken is not None and DebugToken == self.DebugToken: |
610 return self.PLCStatus, self._TracesSwap() |
610 return self.PLCStatus, self._TracesSwap() |
611 return PlcStatus.Broken, [] |
611 return PlcStatus.Broken, [] |
612 |
612 |
613 def TraceThreadProc(self): |
613 def TraceThreadProc(self): |
614 """ |
614 """ |