# # 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, HackEnum, MyStruct, MyDataItem, MyUnion, ReservedKeyword, UnionToBeRenamed 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 simple_rpc(self, int_parameter=None): r""" Parameters: - int_parameter """ pass class ContextIface: def simple_rpc(self, handler_ctx, int_parameter=None): r""" Parameters: - int_parameter """ pass # HELPER FUNCTIONS AND STRUCTURES class simple_rpc_args: r""" Attributes: - int_parameter """ thrift_spec = None thrift_field_annotations = None thrift_struct_annotations = None __init__ = 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 if fid == 1: if ftype == TType.I32: self.int_parameter = iprot.readI32() else: iprot.skip(ftype) 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('simple_rpc_args') if self.int_parameter != None: oprot.writeFieldBegin('int_parameter', TType.I32, 1) oprot.writeI32(self.int_parameter) oprot.writeFieldEnd() 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) if 'int_parameter' in json_obj and json_obj['int_parameter'] is not None: self.int_parameter = json_obj['int_parameter'] if self.int_parameter > 0x7fffffff or self.int_parameter < -0x80000000: raise TProtocolException(TProtocolException.INVALID_DATA, 'number exceeds limit in field') def __repr__(self): L = [] padding = ' ' * 4 if self.int_parameter is not None: value = pprint.pformat(self.int_parameter, indent=0) value = padding.join(value.splitlines(True)) L.append(' int_parameter=%s' % (value)) 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 ( 'int_parameter', ) __hash__ = object.__hash__ all_structs.append(simple_rpc_args) simple_rpc_args.thrift_spec = tuple(__EXPAND_THRIFT_SPEC(( (1, TType.I32, 'int_parameter', None, None, 2, ), # 1 ))) simple_rpc_args.thrift_struct_annotations = { } simple_rpc_args.thrift_field_annotations = { } def simple_rpc_args__init__(self, int_parameter=None,): self.int_parameter = int_parameter simple_rpc_args.__init__ = simple_rpc_args__init__ def simple_rpc_args__setstate__(self, state): state.setdefault('int_parameter', None) self.__dict__ = state simple_rpc_args.__getstate__ = lambda self: self.__dict__.copy() simple_rpc_args.__setstate__ = simple_rpc_args__setstate__ class simple_rpc_result: r""" Attributes: - success """ thrift_spec = None thrift_field_annotations = None thrift_struct_annotations = None __init__ = 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 if fid == 0: if ftype == TType.STRUCT: self.success = ReservedKeyword() self.success.read(iprot) else: iprot.skip(ftype) 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('simple_rpc_result') if self.success != None: oprot.writeFieldBegin('success', TType.STRUCT, 0) self.success.write(oprot) oprot.writeFieldEnd() 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) if 'success' in json_obj and json_obj['success'] is not None: self.success = ReservedKeyword() self.success.readFromJson(json_obj['success'], is_text=False, **kwargs) def __repr__(self): L = [] padding = ' ' * 4 if self.success is not None: value = pprint.pformat(self.success, indent=0) value = padding.join(value.splitlines(True)) L.append(' success=%s' % (value)) 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 ( 'success', ) __hash__ = object.__hash__ all_structs.append(simple_rpc_result) simple_rpc_result.thrift_spec = tuple(__EXPAND_THRIFT_SPEC(( (0, TType.STRUCT, 'success', [ReservedKeyword, ReservedKeyword.thrift_spec, False], None, 2, ), # 0 ))) simple_rpc_result.thrift_struct_annotations = { } simple_rpc_result.thrift_field_annotations = { } def simple_rpc_result__init__(self, success=None,): self.success = success simple_rpc_result.__init__ = simple_rpc_result__init__ def simple_rpc_result__setstate__(self, state): state.setdefault('success', None) self.__dict__ = state simple_rpc_result.__getstate__ = lambda self: self.__dict__.copy() simple_rpc_result.__setstate__ = simple_rpc_result__setstate__ 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 simple_rpc(self, int_parameter=None): r""" Parameters: - int_parameter """ if (self._fbthrift_cpp_transport): args = simple_rpc_args() args.int_parameter = int_parameter result = self._fbthrift_cpp_transport._send_request("FB303Service", "simple_rpc", args, simple_rpc_result) if result.success is not None: return result.success raise TApplicationException(TApplicationException.MISSING_RESULT) self.send_simple_rpc(int_parameter) return self.recv_simple_rpc() def send_simple_rpc(self, int_parameter=None): self._oprot.writeMessageBegin('simple_rpc', TMessageType.CALL, self._seqid) args = simple_rpc_args() args.int_parameter = int_parameter args.write(self._oprot) self._oprot.writeMessageEnd() self._oprot.trans.flush() def recv_simple_rpc(self, ): (fname, mtype, rseqid) = self._iprot.readMessageBegin() if mtype == TMessageType.EXCEPTION: x = TApplicationException() x.read(self._iprot) self._iprot.readMessageEnd() raise x result = simple_rpc_result() result.read(self._iprot) self._iprot.readMessageEnd() if result.success != None: return result.success raise TApplicationException(TApplicationException.MISSING_RESULT, "simple_rpc failed: unknown result"); class Processor(Iface, TProcessor): _onewayMethods = () def __init__(self, handler): TProcessor.__init__(self) self._handler = handler self._processMap = {} self._priorityMap = {} self._processMap["simple_rpc"] = Processor.process_simple_rpc self._priorityMap["simple_rpc"] = TPriority.NORMAL def onewayMethods(self): l = [] l.extend(Processor._onewayMethods) return tuple(l) @thrift_process_main() def process(self,): pass @thrift_process_method(simple_rpc_args, oneway=False) def process_simple_rpc(self, args, handler_ctx): result = simple_rpc_result() try: result.success = self._handler.simple_rpc(args.int_parameter) except: ex = sys.exc_info()[1] self._event_handler.handlerError(handler_ctx, 'simple_rpc', 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["simple_rpc"] = ContextProcessor.process_simple_rpc self._priorityMap["simple_rpc"] = TPriority.NORMAL def onewayMethods(self): l = [] l.extend(ContextProcessor._onewayMethods) return tuple(l) @thrift_process_main() def process(self,): pass @thrift_process_method(simple_rpc_args, oneway=False) def process_simple_rpc(self, args, handler_ctx): result = simple_rpc_result() try: result.success = self._handler.simple_rpc(handler_ctx, args.int_parameter) except: ex = sys.exc_info()[1] self._event_handler.handlerError(handler_ctx, 'simple_rpc', ex) result = Thrift.TApplicationException(message=repr(ex)) return result ContextIface._processor_type = ContextProcessor fix_spec(all_structs) del all_structs