class CalcCLI(object): def __init__(self): logging.basicConfig(level=logging.INFO) self.calc = Calc(result_cb=self.on_result, error_cb=self.on_error) def main(self,args): args = self.process_args(args) if len(args): self.calc.calc(' '.join(args)) else: self.process_loop() def process_args(self,args): opts, args = CalcOptions().parse_args(args) return args def process_loop(self): while True: try: input = raw_input(": ") if len(input): self.calc.calc(input) except KeyboardInterrupt: print("\nbye") break except EOFError: print("\nbye") break def on_result(self,input,result): if 'x' in input: print("x = %s\n" % (result)) else: print("%s\n" % (result)) def on_error(self,input,msg,exc): print
def __init__(self): logging.basicConfig(level=logging.INFO) self.calc = Calc(result_cb=self.on_result, error_cb=self.on_error)