#!/usr/bin/env python # -*- coding: utf-8 -*- from helloworld import HelloWorld from helloworld.ttypes import * from helloworld.constants import * from thrift import Thrift from thrift.transport import TSocket, TTransport from thrift.protocol import TBinaryProtocol import args import sys def usage(): print """ Usage: client.py --ping OR --name [options] [args] Required: --name=Your Name --ping Options: --lang Used with --name. Changes the greeting message for the given language """ def main(): try: transport = TSocket.TSocket('localhost', 9090) transport = TTransport.TBufferedTransport(transport) protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport) client = HelloWorld.Client(protocol) transport.open() if '--ping' in args.grouped: resp = client.ping() print resp sys.exit() if not '--name' in args.grouped: usage() sys.exit(1) name = args.grouped['--name'][0] lang = 'en' if args.grouped.get('--lang', None): lang = args.grouped['--lang'][0].lower() msg = Message(name, lang) resp = client.sayHello(msg) print resp transport.close() except Thrift.TException, tx: print tx.message if __name__ == '__main__': main()