forked from mxcube/BlissFramework
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path__init__.py
More file actions
140 lines (98 loc) · 3.13 KB
/
Copy path__init__.py
File metadata and controls
140 lines (98 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
import gevent.monkey; gevent.monkey.patch_all(thread=False, subprocess=False)
if not hasattr(gevent, "wait"):
def mywait(timeout=None):
return gevent.run(timeout)
gevent.wait=mywait
import sys
import os
import string
import types
#
# create the root logger
#
import logging
SPLASH_SCREEN = None
def set_splash_screen(screen):
SPLASH_SCREEN = screen
def get_splash_screen():
return SPLASH_SCREEN
_logger = logging.getLogger()
_logger.setLevel(logging.DEBUG)
_formatter = logging.Formatter('%(asctime)s |%(levelname)-7s| %(message)s')
#
# log to stdout
#
_hdlr = logging.StreamHandler(sys.stdout)
_hdlr.setFormatter(_formatter)
logging.getLogger().addHandler(_hdlr)
#
# add the GUI Handler
#
#from Utils import Qt4_GUILogHandler
#_GUIhdlr =Qt4_GUILogHandler.GUILogHandler()
#_logger.addHandler(_GUIhdlr)
#
# Add path to root BlissFramework directory
#
blissframeworkpath = os.path.dirname(__file__)
sys.path.insert(0, blissframeworkpath)
def getStdBricksPath():
stdbrickspkg = __import__('BlissFramework.Bricks', globals(), locals(), [''])
return os.path.dirname(stdbrickspkg.__file__)
_bricksDirs = []
def addCustomBricksDirs(bricksDirs):
import sys
global _bricksDirs
if type(bricksDirs) == list:
newBricksDirs = list(filter(os.path.isdir, list(map(os.path.abspath, bricksDirs))))
for newBrickDir in reversed(newBricksDirs):
if not newBrickDir in sys.path:
#print 'inserted in sys.path = %s' % newBrickDir
sys.path.insert(0, newBrickDir)
_bricksDirs += newBricksDirs
sys.path.insert(0, getStdBricksPath())
def getCustomBricksDirs():
return _bricksDirs
def _frameworkTraceFunction(frame, event, arg):
print('EVENT %s' % event)
print(' { FRAME INFO }')
print(' - filename %s' % frame.f_code.co_filename)
print(' - line %d' % frame.f_lineno)
print(' - name %s' % frame.f_code.co_name)
loggingName = ''
def setLoggingName(name, logging_formatter=''):
global _formatter, _hdlr, loggingName
logging_formatter.replace(' ', '')
if logging_formatter == '':
logging_formatter = '%(asctime)s |%(name)-7s|%(levelname)-7s| %(message)s'
_formatter = logging.Formatter(logging_formatter)
_hdlr.setFormatter(_formatter)
loggingName = name
def setLogFile(filename):
#
# log to rotating files
#
global _hdlr
#from logging.handlers import RotatingFileHandler
from logging.handlers import TimedRotatingFileHandler
logging.getLogger().info("Logging to file %s" % filename)
_logger.removeHandler(_hdlr)
#_hdlr = RotatingFileHandler(filename, 'a', 1048576, 10) #1 MB by file, 10 files max.
_hdlr = TimedRotatingFileHandler(filename, when='midnight', backupCount=1)
os.chmod(filename, 0o666)
_hdlr.setFormatter(_formatter)
_logger.addHandler(_hdlr)
#
# general framework settings
#
_useDumbDbm = False
def setUseDumbDbm(d):
global _useDumbDbm
_useDumbDbm = d
def useDumbDbm():
return _useDumbDbm
def setDebugMode(on):
if on:
sys.settrace(_frameworkTraceFunction)
else:
sys.settrace(None)