Fix error about missing attribute 'timeout' that happens sometimes during compilation
The fix [1476:49f1763a5613] of the problem with following trace was wrong.
Traceback (most recent call last):
File "./Beremiz.py", line 1229, in run_with_except_hook
run_old(*args, **kw)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 68, in run
self.endcallback(self.Proc.pid, err)
File
"/home/developer/WorkData/PLC/beremiz/beremiz/util/ProcessLogger.py",
line 169, in finish
if self.timeout: self.timeout.cancel()
AttributeError: ProcessLogger instance has no attribute 'timeout'
The problem was that compilation process was finished before the timeout attribute is set.
Now timeout is set before launcing of compilation process.
"""
Misc definitions
"""
import os,sys
# helper func to check path write permission
def CheckPathPerm(path):
if path is None or not os.path.isdir(path):
return False
for root, dirs, files in os.walk(path):
for name in files:
if os.access(root, os.W_OK) is not True or os.access(os.path.join(root, name), os.W_OK) is not True:
return False
return True
def GetClassImporter(classpath):
if type(classpath)==str:
def fac():
mod=__import__(classpath.rsplit('.',1)[0])
return reduce(getattr, classpath.split('.')[1:], mod)
return fac
else:
return classpath
def InstallLocalRessources(CWD):
from BitmapLibrary import AddBitmapFolder
from TranslationCatalogs import AddCatalog
import wx
# Beremiz bitmaps
AddBitmapFolder(os.path.join(CWD, "images"))
# Internationalization
AddCatalog(os.path.join(CWD, "locale"))
import gettext
import __builtin__
__builtin__.__dict__['_'] = wx.GetTranslation