Source code for AFL.automation.instrument.NICEConsole
import warnings
try:
import nice
except ImportError:
warnings.warn('NICE import failed- NICE instrument connections will not work. Install nice.',stacklevel=2)
import time
[docs]
class NICEConsole(nice.api.console.ConsoleMonitor):
[docs]
def __init__(self,textbox):
self.textbox = textbox
[docs]
def onSubscribe(self,history,current):
self._history=history
messages = []
for event in history:
m = self._parse_event(event)
if m is None:
continue
messages.append(m)
self.textbox.value = ''.join(messages)
[docs]
def report(self,event,current):
m = self._parse_event(event)
if m is None:
return
self.textbox.value += m
def _parse_event(self,event):
level = event.level._name
if not (level in ('ERROR','CRITICAL','SERIOUS','IMPORTANT','INFO')):
return None
date = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(event.timestamp/1e3))
msg = event.message.replace('"','"')
msg = event.message.replace('\\"','"')
event_str = '<p>{}> {}</p>'.format(date,msg)
return event_str