diff options
author | Nobuaki Sukegawa <nsukeg@gmail.com> | 2016-01-11 11:25:09 +0900 |
---|---|---|
committer | Nobuaki Sukegawa <nsuke@apache.org> | 2016-01-13 20:25:19 +0900 |
commit | 7e286b0d143be88adbd84f2e1cbfec66196a6a57 (patch) | |
tree | 32a1306e018bbac061d58608d02c950c7307d6a6 /tutorial/py.twisted | |
parent | 1a42a054772dd3d8fa112b796112d5d873c8bbe3 (diff) | |
download | thrift-7e286b0d143be88adbd84f2e1cbfec66196a6a57.tar.gz |
THRIFT-3540 Make python tutorial more in line with PEP8
This closes #786
Diffstat (limited to 'tutorial/py.twisted')
-rwxr-xr-x | tutorial/py.twisted/PythonClient.py | 50 | ||||
-rwxr-xr-x | tutorial/py.twisted/PythonServer.py | 107 | ||||
-rwxr-xr-x | tutorial/py.twisted/PythonServer.tac | 14 |
3 files changed, 90 insertions, 81 deletions
diff --git a/tutorial/py.twisted/PythonClient.py b/tutorial/py.twisted/PythonClient.py index e80c0fc09..63dde7e7a 100755 --- a/tutorial/py.twisted/PythonClient.py +++ b/tutorial/py.twisted/PythonClient.py @@ -19,51 +19,53 @@ # under the License. # -import sys, glob +import glob +import sys sys.path.append('gen-py.twisted') sys.path.insert(0, glob.glob('../../lib/py/build/lib*')[0]) from tutorial import Calculator -from tutorial.ttypes import * +from tutorial.ttypes import InvalidOperation, Operation, Work from twisted.internet.defer import inlineCallbacks from twisted.internet import reactor from twisted.internet.protocol import ClientCreator -from thrift import Thrift from thrift.transport import TTwisted from thrift.protocol import TBinaryProtocol + @inlineCallbacks def main(client): - yield client.ping() - print('ping()') + yield client.ping() + print('ping()') - sum = yield client.add(1,1) - print(('1+1=%d' % (sum))) + sum = yield client.add(1, 1) + print(('1+1=%d' % (sum))) - work = Work() + work = Work() - work.op = Operation.DIVIDE - work.num1 = 1 - work.num2 = 0 + work.op = Operation.DIVIDE + work.num1 = 1 + work.num2 = 0 - try: - quotient = yield client.calculate(1, work) - print('Whoa? You know how to divide by zero?') - except InvalidOperation as e: - print(('InvalidOperation: %r' % e)) + try: + quotient = yield client.calculate(1, work) + print('Whoa? You know how to divide by zero?') + print('FYI the answer is %d' % quotient) + except InvalidOperation as e: + print(('InvalidOperation: %r' % e)) - work.op = Operation.SUBTRACT - work.num1 = 15 - work.num2 = 10 + work.op = Operation.SUBTRACT + work.num1 = 15 + work.num2 = 10 - diff = yield client.calculate(1, work) - print(('15-10=%d' % (diff))) + diff = yield client.calculate(1, work) + print(('15-10=%d' % (diff))) - log = yield client.getStruct(1) - print(('Check log: %s' % (log.value))) - reactor.stop() + log = yield client.getStruct(1) + print(('Check log: %s' % (log.value))) + reactor.stop() if __name__ == '__main__': d = ClientCreator(reactor, diff --git a/tutorial/py.twisted/PythonServer.py b/tutorial/py.twisted/PythonServer.py index c57832148..1b0e2d5b9 100755 --- a/tutorial/py.twisted/PythonServer.py +++ b/tutorial/py.twisted/PythonServer.py @@ -19,12 +19,13 @@ # under the License. # -import sys, glob +import glob +import sys sys.path.append('gen-py.twisted') sys.path.insert(0, glob.glob('../../lib/py/build/lib*')[0]) from tutorial import Calculator -from tutorial.ttypes import * +from tutorial.ttypes import InvalidOperation, Operation from shared.ttypes import SharedStruct @@ -33,61 +34,63 @@ from twisted.internet import reactor from thrift.transport import TTwisted from thrift.protocol import TBinaryProtocol -from thrift.server import TServer + class CalculatorHandler: - implements(Calculator.Iface) - def __init__(self): - self.log = {} - - def ping(self): - print('ping()') - - def add(self, n1, n2): - print('add(%d,%d)' % (n1, n2)) - return n1+n2 - - def calculate(self, logid, work): - print('calculate(%d, %r)' % (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 getStruct(self, key): - print('getStruct(%d)' % (key)) - return self.log[key] - - def zip(self): - print('zip()') + implements(Calculator.Iface) + + def __init__(self): + self.log = {} + + def ping(self): + print('ping()') + + def add(self, n1, n2): + print('add(%d,%d)' % (n1, n2)) + return n1 + n2 + + def calculate(self, logid, work): + print('calculate(%d, %r)' % (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 getStruct(self, key): + print('getStruct(%d)' % (key)) + return self.log[key] + + def zip(self): + print('zip()') if __name__ == '__main__': handler = CalculatorHandler() processor = Calculator.Processor(handler) pfactory = TBinaryProtocol.TBinaryProtocolFactory() - server = reactor.listenTCP(9090, - TTwisted.ThriftServerFactory(processor, - pfactory), interface="127.0.0.1") + server = reactor.listenTCP( + 9090, + TTwisted.ThriftServerFactory(processor, pfactory), + interface="127.0.0.1") reactor.run() diff --git a/tutorial/py.twisted/PythonServer.tac b/tutorial/py.twisted/PythonServer.tac index 08493ff1f..0479636de 100755 --- a/tutorial/py.twisted/PythonServer.tac +++ b/tutorial/py.twisted/PythonServer.tac @@ -22,12 +22,14 @@ from twisted.application import internet, service from thrift.transport import TTwisted -import sys, glob +import glob +import sys sys.path.append('gen-py.twisted') sys.path.insert(0, glob.glob('../../lib/py/build/lib*')[0]) from tutorial import Calculator -from tutorial.ttypes import * from PythonServer import CalculatorHandler +from thrift.protocol import TBinaryProtocol + def make_application(): application = service.Application('CalcServer') @@ -35,8 +37,9 @@ def make_application(): handler = CalculatorHandler() processor = Calculator.Processor(handler) - serverFactory = TTwisted.ThriftServerFactory(processor, - TBinaryProtocol.TBinaryProtocolFactory()) + serverFactory = TTwisted.ThriftServerFactory( + processor, + TBinaryProtocol.TBinaryProtocolFactory()) calcService = internet.TCPServer(9090, serverFactory) @@ -46,4 +49,5 @@ def make_application(): return application -application = make_application() +if __name__ == '__main__': + application = make_application() |