# # Autogenerated by Thrift # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # @generated # from __future__ import absolute_import import sys from thrift.util.Recursive import fix_spec from thrift.Thrift import TType, TMessageType, TPriority, TRequestContext, TProcessorEventHandler, TServerInterface, TProcessor, TException, TApplicationException, UnimplementedTypedef from thrift.protocol.TProtocol import TProtocolException from json import loads import sys if sys.version_info[0] >= 3: long = int from .ttypes import UTF8STRINGS, MyEnum, MyStructNestedAnnotation, MyUnion, MyException, MyStruct, SecretStruct, AwesomeStruct, FantasticStruct, list_string_6884 from thrift.Thrift import TProcessor import pprint import warnings from thrift import Thrift from thrift.transport import TTransport from thrift.protocol import TBinaryProtocol from thrift.protocol import TCompactProtocol from thrift.protocol import THeaderProtocol fastproto = None try: from thrift.protocol import fastproto except ImportError: pass def __EXPAND_THRIFT_SPEC(spec): next_id = 0 for item in spec: if next_id >= 0 and item[0] < 0: next_id = item[0] if item[0] != next_id: for _ in range(next_id, item[0]): yield None yield item next_id = item[0] + 1 class ThriftEnumWrapper(int): def __new__(cls, enum_class, value): return super().__new__(cls, value) def __init__(self, enum_class, value): self.enum_class = enum_class def __repr__(self): return self.enum_class.__name__ + '.' + self.enum_class._VALUES_TO_NAMES[self] all_structs = [] UTF8STRINGS = bool(0) or sys.version_info.major >= 3 from thrift.util.Decorators import ( future_process_main, future_process_method, process_main as thrift_process_main, process_method as thrift_process_method, should_run_on_thread, write_results_after_future, ) class Iface: def ping(self, ): pass def pong(self, ): pass class ContextIface: def ping(self, handler_ctx, ): pass def pong(self, handler_ctx, ): pass # HELPER FUNCTIONS AND STRUCTURES class ping_args: thrift_spec = None thrift_field_annotations = None thrift_struct_annotations = None @staticmethod def isUnion(): return False def read(self, iprot): if (isinstance(iprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0) return if (isinstance(iprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2) return iprot.readStructBegin() while True: (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break else: iprot.skip(ftype) iprot.readFieldEnd() iprot.readStructEnd() def write(self, oprot): if (isinstance(oprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0)) return if (isinstance(oprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2)) return oprot.writeStructBegin('ping_args') oprot.writeFieldStop() oprot.writeStructEnd() def readFromJson(self, json, is_text=True, **kwargs): kwargs_copy = dict(kwargs) relax_enum_validation = bool(kwargs_copy.pop('relax_enum_validation', False)) set_cls = kwargs_copy.pop('custom_set_cls', set) dict_cls = kwargs_copy.pop('custom_dict_cls', dict) wrap_enum_constants = kwargs_copy.pop('wrap_enum_constants', False) if wrap_enum_constants and relax_enum_validation: raise ValueError( 'wrap_enum_constants cannot be used together with relax_enum_validation' ) if kwargs_copy: extra_kwargs = ', '.join(kwargs_copy.keys()) raise ValueError( 'Unexpected keyword arguments: ' + extra_kwargs ) json_obj = json if is_text: json_obj = loads(json) def __repr__(self): L = [] padding = ' ' * 4 return "%s(%s)" % (self.__class__.__name__, "\n" + ",\n".join(L) if L else '') def __eq__(self, other): if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) def __dir__(self): return ( ) __hash__ = object.__hash__ all_structs.append(ping_args) ping_args.thrift_spec = tuple(__EXPAND_THRIFT_SPEC(( ))) ping_args.thrift_struct_annotations = { } ping_args.thrift_field_annotations = { } class ping_result: thrift_spec = None thrift_field_annotations = None thrift_struct_annotations = None @staticmethod def isUnion(): return False def read(self, iprot): if (isinstance(iprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0) return if (isinstance(iprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2) return iprot.readStructBegin() while True: (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break else: iprot.skip(ftype) iprot.readFieldEnd() iprot.readStructEnd() def write(self, oprot): if (isinstance(oprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0)) return if (isinstance(oprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2)) return oprot.writeStructBegin('ping_result') oprot.writeFieldStop() oprot.writeStructEnd() def readFromJson(self, json, is_text=True, **kwargs): kwargs_copy = dict(kwargs) relax_enum_validation = bool(kwargs_copy.pop('relax_enum_validation', False)) set_cls = kwargs_copy.pop('custom_set_cls', set) dict_cls = kwargs_copy.pop('custom_dict_cls', dict) wrap_enum_constants = kwargs_copy.pop('wrap_enum_constants', False) if wrap_enum_constants and relax_enum_validation: raise ValueError( 'wrap_enum_constants cannot be used together with relax_enum_validation' ) if kwargs_copy: extra_kwargs = ', '.join(kwargs_copy.keys()) raise ValueError( 'Unexpected keyword arguments: ' + extra_kwargs ) json_obj = json if is_text: json_obj = loads(json) def __repr__(self): L = [] padding = ' ' * 4 return "%s(%s)" % (self.__class__.__name__, "\n" + ",\n".join(L) if L else '') def __eq__(self, other): if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) def __dir__(self): return ( ) __hash__ = object.__hash__ all_structs.append(ping_result) ping_result.thrift_spec = tuple(__EXPAND_THRIFT_SPEC(( ))) ping_result.thrift_struct_annotations = { } ping_result.thrift_field_annotations = { } class pong_args: thrift_spec = None thrift_field_annotations = None thrift_struct_annotations = None @staticmethod def isUnion(): return False def read(self, iprot): if (isinstance(iprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0) return if (isinstance(iprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2) return iprot.readStructBegin() while True: (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break else: iprot.skip(ftype) iprot.readFieldEnd() iprot.readStructEnd() def write(self, oprot): if (isinstance(oprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0)) return if (isinstance(oprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2)) return oprot.writeStructBegin('pong_args') oprot.writeFieldStop() oprot.writeStructEnd() def readFromJson(self, json, is_text=True, **kwargs): kwargs_copy = dict(kwargs) relax_enum_validation = bool(kwargs_copy.pop('relax_enum_validation', False)) set_cls = kwargs_copy.pop('custom_set_cls', set) dict_cls = kwargs_copy.pop('custom_dict_cls', dict) wrap_enum_constants = kwargs_copy.pop('wrap_enum_constants', False) if wrap_enum_constants and relax_enum_validation: raise ValueError( 'wrap_enum_constants cannot be used together with relax_enum_validation' ) if kwargs_copy: extra_kwargs = ', '.join(kwargs_copy.keys()) raise ValueError( 'Unexpected keyword arguments: ' + extra_kwargs ) json_obj = json if is_text: json_obj = loads(json) def __repr__(self): L = [] padding = ' ' * 4 return "%s(%s)" % (self.__class__.__name__, "\n" + ",\n".join(L) if L else '') def __eq__(self, other): if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) def __dir__(self): return ( ) __hash__ = object.__hash__ all_structs.append(pong_args) pong_args.thrift_spec = tuple(__EXPAND_THRIFT_SPEC(( ))) pong_args.thrift_struct_annotations = { } pong_args.thrift_field_annotations = { } class pong_result: thrift_spec = None thrift_field_annotations = None thrift_struct_annotations = None @staticmethod def isUnion(): return False def read(self, iprot): if (isinstance(iprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0) return if (isinstance(iprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(iprot, THeaderProtocol.THeaderProtocolAccelerate) and iprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastproto is not None: fastproto.decode(self, iprot.trans, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2) return iprot.readStructBegin() while True: (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break else: iprot.skip(ftype) iprot.readFieldEnd() iprot.readStructEnd() def write(self, oprot): if (isinstance(oprot, TBinaryProtocol.TBinaryProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_BINARY_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=0)) return if (isinstance(oprot, TCompactProtocol.TCompactProtocolAccelerated) or (isinstance(oprot, THeaderProtocol.THeaderProtocolAccelerate) and oprot.get_protocol_id() == THeaderProtocol.THeaderProtocol.T_COMPACT_PROTOCOL)) and self.thrift_spec is not None and fastproto is not None: oprot.trans.write(fastproto.encode(self, [self.__class__, self.thrift_spec, False], utf8strings=UTF8STRINGS, protoid=2)) return oprot.writeStructBegin('pong_result') oprot.writeFieldStop() oprot.writeStructEnd() def readFromJson(self, json, is_text=True, **kwargs): kwargs_copy = dict(kwargs) relax_enum_validation = bool(kwargs_copy.pop('relax_enum_validation', False)) set_cls = kwargs_copy.pop('custom_set_cls', set) dict_cls = kwargs_copy.pop('custom_dict_cls', dict) wrap_enum_constants = kwargs_copy.pop('wrap_enum_constants', False) if wrap_enum_constants and relax_enum_validation: raise ValueError( 'wrap_enum_constants cannot be used together with relax_enum_validation' ) if kwargs_copy: extra_kwargs = ', '.join(kwargs_copy.keys()) raise ValueError( 'Unexpected keyword arguments: ' + extra_kwargs ) json_obj = json if is_text: json_obj = loads(json) def __repr__(self): L = [] padding = ' ' * 4 return "%s(%s)" % (self.__class__.__name__, "\n" + ",\n".join(L) if L else '') def __eq__(self, other): if not isinstance(other, self.__class__): return False return self.__dict__ == other.__dict__ def __ne__(self, other): return not (self == other) def __dir__(self): return ( ) __hash__ = object.__hash__ all_structs.append(pong_result) pong_result.thrift_spec = tuple(__EXPAND_THRIFT_SPEC(( ))) pong_result.thrift_struct_annotations = { } pong_result.thrift_field_annotations = { } class Client(Iface): _fbthrift_force_cpp_transport = False def __enter__(self): if self._fbthrift_cpp_transport: self._fbthrift_cpp_transport.__enter__() return self def __exit__(self, type, value, tb): if self._fbthrift_cpp_transport: self._fbthrift_cpp_transport.__exit__(type, value, tb) if self._iprot: self._iprot.trans.close() if self._oprot and self._iprot is not self._oprot: self._oprot.trans.close() def __init__(self, iprot=None, oprot=None, cpp_transport=None): self._iprot = self._oprot = iprot if oprot != None: self._oprot = oprot self._seqid = 0 self._fbthrift_cpp_transport = cpp_transport def set_persistent_header(self, key, value): if self._fbthrift_cpp_transport: self._fbthrift_cpp_transport.set_persistent_header(key, value) else: try: self._oprot.trans.set_persistent_header(key, value) except AttributeError: pass def get_persistent_headers(self): if self._fbthrift_cpp_transport: return self._fbthrift_cpp_transport.get_persistent_headers() try: return self._oprot.trans.get_write_persistent_headers() except AttributeError: return {} def clear_persistent_headers(self): if self._fbthrift_cpp_transport: self._fbthrift_cpp_transport.clear_persistent_headers() else: try: self._oprot.trans.clear_persistent_headers() except AttributeError: pass def set_onetime_header(self, key, value): if self._fbthrift_cpp_transport: self._fbthrift_cpp_transport.set_onetime_header(key, value) else: try: self._oprot.trans.set_header(key, value) except AttributeError: pass def get_last_response_headers(self): if self._fbthrift_cpp_transport: return self._fbthrift_cpp_transport.get_last_response_headers() try: return self._iprot.trans.get_headers() except AttributeError: return {} def set_max_frame_size(self, size): if self._fbthrift_cpp_transport: pass else: try: self._oprot.trans.set_max_frame_size(size) except AttributeError: pass def ping(self, ): if (self._fbthrift_cpp_transport): args = ping_args() result = self._fbthrift_cpp_transport._send_request("MyServicePrioParent", "ping", args, ping_result) return None self.send_ping() self.recv_ping() def send_ping(self, ): self._oprot.writeMessageBegin('ping', TMessageType.CALL, self._seqid) args = ping_args() args.write(self._oprot) self._oprot.writeMessageEnd() self._oprot.trans.flush() def recv_ping(self, ): (fname, mtype, rseqid) = self._iprot.readMessageBegin() if mtype == TMessageType.EXCEPTION: x = TApplicationException() x.read(self._iprot) self._iprot.readMessageEnd() raise x result = ping_result() result.read(self._iprot) self._iprot.readMessageEnd() return def pong(self, ): if (self._fbthrift_cpp_transport): args = pong_args() result = self._fbthrift_cpp_transport._send_request("MyServicePrioParent", "pong", args, pong_result) return None self.send_pong() self.recv_pong() def send_pong(self, ): self._oprot.writeMessageBegin('pong', TMessageType.CALL, self._seqid) args = pong_args() args.write(self._oprot) self._oprot.writeMessageEnd() self._oprot.trans.flush() def recv_pong(self, ): (fname, mtype, rseqid) = self._iprot.readMessageBegin() if mtype == TMessageType.EXCEPTION: x = TApplicationException() x.read(self._iprot) self._iprot.readMessageEnd() raise x result = pong_result() result.read(self._iprot) self._iprot.readMessageEnd() return class Processor(Iface, TProcessor): _onewayMethods = () def __init__(self, handler): TProcessor.__init__(self) self._handler = handler self._processMap = {} self._priorityMap = {} self._processMap["ping"] = Processor.process_ping self._priorityMap["ping"] = TPriority.IMPORTANT self._processMap["pong"] = Processor.process_pong self._priorityMap["pong"] = TPriority.HIGH_IMPORTANT def onewayMethods(self): l = [] l.extend(Processor._onewayMethods) return tuple(l) @thrift_process_main() def process(self,): pass @thrift_process_method(ping_args, oneway=False) def process_ping(self, args, handler_ctx): result = ping_result() try: self._handler.ping() except: ex = sys.exc_info()[1] self._event_handler.handlerError(handler_ctx, 'ping', ex) result = Thrift.TApplicationException(message=repr(ex)) return result @thrift_process_method(pong_args, oneway=False) def process_pong(self, args, handler_ctx): result = pong_result() try: self._handler.pong() except: ex = sys.exc_info()[1] self._event_handler.handlerError(handler_ctx, 'pong', ex) result = Thrift.TApplicationException(message=repr(ex)) return result Iface._processor_type = Processor class ContextProcessor(ContextIface, TProcessor): _onewayMethods = () def __init__(self, handler): TProcessor.__init__(self) self._handler = handler self._processMap = {} self._priorityMap = {} self._processMap["ping"] = ContextProcessor.process_ping self._priorityMap["ping"] = TPriority.IMPORTANT self._processMap["pong"] = ContextProcessor.process_pong self._priorityMap["pong"] = TPriority.HIGH_IMPORTANT def onewayMethods(self): l = [] l.extend(ContextProcessor._onewayMethods) return tuple(l) @thrift_process_main() def process(self,): pass @thrift_process_method(ping_args, oneway=False) def process_ping(self, args, handler_ctx): result = ping_result() try: self._handler.ping(handler_ctx) except: ex = sys.exc_info()[1] self._event_handler.handlerError(handler_ctx, 'ping', ex) result = Thrift.TApplicationException(message=repr(ex)) return result @thrift_process_method(pong_args, oneway=False) def process_pong(self, args, handler_ctx): result = pong_result() try: self._handler.pong(handler_ctx) except: ex = sys.exc_info()[1] self._event_handler.handlerError(handler_ctx, 'pong', ex) result = Thrift.TApplicationException(message=repr(ex)) return result ContextIface._processor_type = ContextProcessor fix_spec(all_structs) del all_structs