def _send_specified_file(_ui: UserInput): """_send_specified_file() ui is a UserInput opens the controller, the commandreader, and sends each line to the controller. """ _ui.open() _c: Controller = Controller(_ui) _cr = CommandReader(_ui) _cr.open() _c.open() try: while 1: line: str = _cr.get() if line == "": break # exit when file read _c.sendcmd(line, echoit=_DEBUGGING) finally: _c.close() _cr.close() _ui.close()
def send_users_cmds(_ui: UserInput) -> bool: """sendUsersCmds() Opens the ui and controller, runs the command loop closes the controller and the ui. """ _ui.open() _c = Controller(_ui) _c.open() try: _cmdloop(_c) finally: _c.close() _ui.close() return True
def do_utility_cmds(_ui: UserInput) -> bool: """doUtilityCmds(ui) Asks for the log file name, opens the ui, and the controller. Calls the util processor loop, Closes the controller and the ui on exit """ _ui.inputfn = input("input log file name.txt>") _ui.open() _c: Controller = Controller(_ui) _c.open() try: _utils: Utils = Utils(_ui, _c) _utils.process_loop() finally: _c.close() _ui.close() return True
maxBytes=10000, backupCount=5, ) LF_HANDLER.setLevel(logging.DEBUG) LC_HANDLER = logging.StreamHandler() LC_HANDLER.setLevel(logging.DEBUG) # (logging.ERROR) LF_FORMATTER = logging.Formatter( '%(asctime)s - %(name)s - %(funcName)s - %(levelname)s - %(message)s') LC_FORMATTER = logging.Formatter('%(name)s: %(levelname)s - %(message)s') LC_HANDLER.setFormatter(LC_FORMATTER) LF_HANDLER.setFormatter(LF_FORMATTER) THE_LOGGER = logging.getLogger() THE_LOGGER.setLevel(logging.DEBUG) THE_LOGGER.addHandler(LF_HANDLER) THE_LOGGER.addHandler(LC_HANDLER) THE_LOGGER.info('userinput executed as main') # LOGGER.setLevel(logging.DEBUG) MS = MySerial() MS.open() from userinput import UserInput _UI = UserInput() try: _UI.request() _UI.open() print("Requested Port can be opened") _UI.close() except(Exception, KeyboardInterrupt) as exc: _UI.close() sys.exit(str(exc))
def main(stop_events: Mapping[str, CTX.Event], queues: Mapping[str, CTX.JoinableQueue]): from smeteravg import SMeterAvg UI = UserInput() NOISE = None UI.request(port='com4') flexr = Flex(UI) initial_state = None try: if not flexr.open(): raise (RuntimeError('Flex not connected to serial serial port')) print('saving current flex state') initial_state = flexr.save_current_state() print('initializing dbg flex state') flexr.do_cmd_list(INITIALZE_FLEX) flexr.close() resultQ = queues.get(QK.dQ) stop_event = stop_events.get(SEK.da) NOISE = Noisefloor(flexr, resultQ, stop_event) NOISE.open() # loops must be less than 100 as that is the queue size and I am not emptying it here NOISE.doit(loops=90, interval=90, dups=True) # NOISE.doit(runtime=1, interval=60) try: stop_event.set() except StopEventException: pass if NOISE and NOISE.is_open: flexr.restore_state(initial_state) NOISE.close() indata: List[NFQ] = [] deck: Deck = Deck(1000) deck.q2deck(resultQ, mark_done=True) indata = deck.deck2lst() # try: # while True: #indata.append(resultQ.get(True, 1)) # resultQ.task_done() # except QEmpty: # pass # q is empty # except Exception as ex: # print(ex) #raise ex with open('nfqlistdata.pickle', 'wb') as jso: pickle.dump(indata, jso) unpacked: List[NFResult] = [npq.get() for npq in indata] with open('nfrlistdata.pickle', 'wb') as jso: pickle.dump(unpacked, jso) reads: List[SMeterAvg] = [] for nfr in unpacked: reads.extend(nfr.readings) with open('smavflistdata.pickle', 'wb') as jso: pickle.dump(reads, jso) up0: NFResult = unpacked[0] outdata = [] with open('nfqlistdata.pickle', 'rb') as jsi: outdata = pickle.load(jsi) brlst: List[Bandreadings] = [] for nfq in outdata: br: Bandreadings = nfq.get() brlst.append(br) a = indata[0] b = outdata[0] except(Exception, KeyboardInterrupt) as exc: if NOISE and NOISE.is_open: flexr.restore_state(initial_state) NOISE.close() UI.close() raise exc finally: print('restore flex prior state') if NOISE and NOISE.is_open: flexr.restore_state(initial_state) NOISE.close() UI.close()