Example #1
0
File: cli.py Project: jslade/ttcalc
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
Example #2
0
File: cli.py Project: jslade/ttcalc
 def __init__(self):
     logging.basicConfig(level=logging.INFO)
     
     self.calc = Calc(result_cb=self.on_result,
                      error_cb=self.on_error)