use logger object directly

also allow progress bar to be used even while messages are added
This commit is contained in:
ChemicalXandco 2019-09-15 15:28:59 +01:00
parent cd5beab5f4
commit 17ecf78064
2 changed files with 22 additions and 21 deletions

View file

@ -168,12 +168,6 @@ class LogManager:
while not self.cleared:
time.sleep(0.01)
def add(self, message, level=logging.INFO):
assert not self.progressBar
self.waitUntilCleared()
self.logger.log(level, message)
def makeProgressBar(self, end, message=''):
assert end > 0
assert not self.progressBar
@ -187,7 +181,11 @@ class LogManager:
if message:
f.write(message+'\n')
f.write('0% 10 20 30 40 50 60 70 80 90 100%\n')
f.write('|----|----|----|----|----|----|----|----|----|----|\n')
f.write('|----|----|----|----|----|----|----|----|----|----|\n\n')
if message:
self.progressBarPosition = f.tell()-14
else:
self.progressBarPosition = f.tell()-7
f.close()
def updateProgressBar(self, value):
@ -197,9 +195,12 @@ class LogManager:
tics = round((value/self.progressEnd)*51)
with open(self.chunk.logFile, 'a') as f:
with open(self.chunk.logFile, 'r+') as f:
text = f.read()
for i in range(tics-self.currentProgressTics):
f.write('*')
text = text[:self.progressBarPosition]+'*'+text[self.progressBarPosition:]
f.seek(0)
f.write(text)
f.close()
self.currentProgressTics = tics
@ -207,10 +208,6 @@ class LogManager:
def completeProgressBar(self):
assert self.progressBar
with open(self.chunk.logFile, 'a') as f:
f.write('\n')
f.close()
self.progressBar = False
def textToLevel(self, text):
@ -237,7 +234,7 @@ class NodeChunk(BaseObject):
super(NodeChunk, self).__init__(parent)
self.node = node
self.range = range
self.log = LogManager(self)
self.logManager = LogManager(self)
self.status = StatusData(node.name, node.nodeType, node.packageName, node.packageVersion)
self.statistics = stats.Statistics()
self.statusFileLastModTime = -1
@ -260,6 +257,10 @@ class NodeChunk(BaseObject):
def statusName(self):
return self.status.status.name
@property
def logger(self):
return self.logManager.logger
@property
def execModeName(self):
return self.status.execMode.name