beremiz

Suppress WXDEBUG assertions, as happens by default with wx2.8. This is
necessary for wx3.0

Exception while connecting LOCAL://!
Traceback (most recent call last):
File "/home/beremiz/beremiz/ProjectController.py", line 1560, in _Connect
self._SetConnector(connectors.ConnectorFactory(uri, self))
File "/home/beremiz/beremiz/ProjectController.py", line 1508, in _SetConnector
self.StatusTimer.Start(milliseconds=500, oneShot=False)
File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_misc.py", line 1324, in Start
return _misc_.Timer_Start(*args, **kwargs)
PyAssertionError: C++ assertion "m_window" failed at ../src/gtk/dcclient.cpp(2043) in DoGetSize(): GetSize() doesn't work without window
"""
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