BeeswaxService-remote 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. #!/usr/bin/env python
  2. #
  3. # Autogenerated by Thrift
  4. #
  5. # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  6. #
  7. import sys
  8. import pprint
  9. from urlparse import urlparse
  10. from thrift.transport import TTransport
  11. from thrift.transport import TSocket
  12. from thrift.transport import THttpClient
  13. from thrift.protocol import TBinaryProtocol
  14. import BeeswaxService
  15. from ttypes import *
  16. if len(sys.argv) <= 1 or sys.argv[1] == '--help':
  17. print ''
  18. print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
  19. print ''
  20. print 'Functions:'
  21. print ' QueryHandle query(Query query)'
  22. print ' QueryExplanation explain(Query query)'
  23. print ' Results fetch(QueryHandle query_id, bool start_over)'
  24. print ' QueryState get_state(QueryHandle handle)'
  25. print ' ResultsMetadata get_results_metadata(QueryHandle handle)'
  26. print ' string echo(string s)'
  27. print ' string dump_config()'
  28. print ' string get_log(LogContextId context)'
  29. print ' get_default_configuration(bool include_hadoop)'
  30. print ''
  31. sys.exit(0)
  32. pp = pprint.PrettyPrinter(indent = 2)
  33. host = 'localhost'
  34. port = 9090
  35. uri = ''
  36. framed = False
  37. http = False
  38. argi = 1
  39. if sys.argv[argi] == '-h':
  40. parts = sys.argv[argi+1].split(':')
  41. host = parts[0]
  42. port = int(parts[1])
  43. argi += 2
  44. if sys.argv[argi] == '-u':
  45. url = urlparse(sys.argv[argi+1])
  46. parts = url[1].split(':')
  47. host = parts[0]
  48. if len(parts) > 1:
  49. port = int(parts[1])
  50. else:
  51. port = 80
  52. uri = url[2]
  53. http = True
  54. argi += 2
  55. if sys.argv[argi] == '-f' or sys.argv[argi] == '-framed':
  56. framed = True
  57. argi += 1
  58. cmd = sys.argv[argi]
  59. args = sys.argv[argi+1:]
  60. if http:
  61. transport = THttpClient.THttpClient(host, port, uri)
  62. else:
  63. socket = TSocket.TSocket(host, port)
  64. if framed:
  65. transport = TTransport.TFramedTransport(socket)
  66. else:
  67. transport = TTransport.TBufferedTransport(socket)
  68. protocol = TBinaryProtocol.TBinaryProtocol(transport)
  69. client = BeeswaxService.Client(protocol)
  70. transport.open()
  71. if cmd == 'query':
  72. if len(args) != 1:
  73. print 'query requires 1 args'
  74. sys.exit(1)
  75. pp.pprint(client.query(eval(args[0]),))
  76. elif cmd == 'explain':
  77. if len(args) != 1:
  78. print 'explain requires 1 args'
  79. sys.exit(1)
  80. pp.pprint(client.explain(eval(args[0]),))
  81. elif cmd == 'fetch':
  82. if len(args) != 2:
  83. print 'fetch requires 2 args'
  84. sys.exit(1)
  85. pp.pprint(client.fetch(eval(args[0]),eval(args[1]),))
  86. elif cmd == 'get_state':
  87. if len(args) != 1:
  88. print 'get_state requires 1 args'
  89. sys.exit(1)
  90. pp.pprint(client.get_state(eval(args[0]),))
  91. elif cmd == 'get_results_metadata':
  92. if len(args) != 1:
  93. print 'get_results_metadata requires 1 args'
  94. sys.exit(1)
  95. pp.pprint(client.get_results_metadata(eval(args[0]),))
  96. elif cmd == 'echo':
  97. if len(args) != 1:
  98. print 'echo requires 1 args'
  99. sys.exit(1)
  100. pp.pprint(client.echo(args[0],))
  101. elif cmd == 'dump_config':
  102. if len(args) != 0:
  103. print 'dump_config requires 0 args'
  104. sys.exit(1)
  105. pp.pprint(client.dump_config())
  106. elif cmd == 'get_log':
  107. if len(args) != 1:
  108. print 'get_log requires 1 args'
  109. sys.exit(1)
  110. pp.pprint(client.get_log(eval(args[0]),))
  111. elif cmd == 'get_default_configuration':
  112. if len(args) != 1:
  113. print 'get_default_configuration requires 1 args'
  114. sys.exit(1)
  115. pp.pprint(client.get_default_configuration(eval(args[0]),))
  116. transport.close()