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('&quot;','"') msg = event.message.replace('\\"','"') event_str = '<p>{}> {}</p>'.format(date,msg) return event_str