def calculate(self, logid, work): print("calculate({}, {})".format(logid, work)) if work.op == Operation.ADD: val = work.num1 + work.num2 elif work.op == Operation.SUBTRACT: val = work.num1 - work.num2 elif work.op == Operation.MULTIPLY: val = work.num1 * work.num2 elif work.op == Operation.DIVIDE: if work.num2 == 0: x = InvalidOperation() x.whatOp = work.op x.why = "Cannot divide by 0" raise x val = work.num1 / work.num2 else: x = InvalidOperation() x.whatOp = work.op x.why = "Invalid operation" raise x log = SharedStruct() log.key = logid log.value = '%d' % (val) self.log[logid] = log return val
def calculate(self, logid, work): logging.info('calculate({0}, {1})'.format(logid, work)) if work.op == Operation.ADD: val = work.num1 + work.num2 elif work.op == Operation.SUBTRACT: val = work.num1 - work.num2 elif work.op == Operation.MULTIPLY: val = work.num1 * work.num2 elif work.op == Operation.DIVIDE: if work.num2 == 0: x = InvalidOperation() x.whatOp = work.op x.why = 'Cannot divide by 0' raise x val = work.num1 / work.num2 else: x = InvalidOperation() x.whatOp = work.op x.why = 'Invalid operation' raise x log = SharedStruct(key=int(logid), value=str(val)) self.log[logid] = log return val