if args.apiListen: return self.__apiListen() if args.apiInput: return self.__apiInput(args.apiInput) for fn in args.dialogInput: self.__dialogInput(fn) return False parser = argparse.ArgumentParser(description="Glider Dialog Listener") MyLogger.addArgs(parser) Listener.addArgs(parser) Dialog.addArgs(parser) args = parser.parse_args() logger = MyLogger.mkLogger(args) logger.info("args=%s", args) dialog = Dialog(args, logger) dialog.start() # Start the update thread listener = Listener(args, logger, dialog) try: while listener.listen(): # Listen to the API interface or read in a file # Loop if need be for the API interface pass except: logger.exception("Unexpected Exception") dialog.join() # Wait for all queued messages to be done