# # Autogenerated by Thrift Compiler (0.20.0) # # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING # # options string: py:new_style,slots # from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException from thrift.protocol.TProtocol import TProtocolException from thrift.TRecursive import fix_spec import sys import logging from .ttypes import * from thrift.Thrift import TProcessor from thrift.transport import TTransport all_structs = [] class Iface(object): def ping(self): pass def reportError(self, message, details): """ Parameters: - message - details """ pass def shutdown(self): pass class Client(Iface): def __init__(self, iprot, oprot=None): self._iprot = self._oprot = iprot if oprot is not None: self._oprot = oprot self._seqid = 0 def ping(self): self.send_ping() return 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): iprot = self._iprot (fname, mtype, rseqid) = iprot.readMessageBegin() if mtype == TMessageType.EXCEPTION: x = TApplicationException() x.read(iprot) iprot.readMessageEnd() raise x result = ping_result() result.read(iprot) iprot.readMessageEnd() if result.success is not None: return result.success if result.serviceExp is not None: raise result.serviceExp if result.userExp is not None: raise result.userExp raise TApplicationException(TApplicationException.MISSING_RESULT, "ping failed: unknown result") def reportError(self, message, details): """ Parameters: - message - details """ self.send_reportError(message, details) return self.recv_reportError() def send_reportError(self, message, details): self._oprot.writeMessageBegin('reportError', TMessageType.CALL, self._seqid) args = reportError_args() args.message = message args.details = details args.write(self._oprot) self._oprot.writeMessageEnd() self._oprot.trans.flush() def recv_reportError(self): iprot = self._iprot (fname, mtype, rseqid) = iprot.readMessageBegin() if mtype == TMessageType.EXCEPTION: x = TApplicationException() x.read(iprot) iprot.readMessageEnd() raise x result = reportError_result() result.read(iprot) iprot.readMessageEnd() if result.success is not None: return result.success if result.serviceExp is not None: raise result.serviceExp if result.userExp is not None: raise result.userExp raise TApplicationException(TApplicationException.MISSING_RESULT, "reportError failed: unknown result") def shutdown(self): self.send_shutdown() def send_shutdown(self): self._oprot.writeMessageBegin('shutdown', TMessageType.ONEWAY, self._seqid) args = shutdown_args() args.write(self._oprot) self._oprot.writeMessageEnd() self._oprot.trans.flush() class Processor(Iface, TProcessor): def __init__(self, handler): self._handler = handler self._processMap = {} self._processMap["ping"] = Processor.process_ping self._processMap["reportError"] = Processor.process_reportError self._processMap["shutdown"] = Processor.process_shutdown self._on_message_begin = None def on_message_begin(self, func): self._on_message_begin = func def process(self, iprot, oprot): (name, type, seqid) = iprot.readMessageBegin() if self._on_message_begin: self._on_message_begin(name, type, seqid) if name not in self._processMap: iprot.skip(TType.STRUCT) iprot.readMessageEnd() x = TApplicationException(TApplicationException.UNKNOWN_METHOD, 'Unknown function %s' % (name)) oprot.writeMessageBegin(name, TMessageType.EXCEPTION, seqid) x.write(oprot) oprot.writeMessageEnd() oprot.trans.flush() return else: self._processMap[name](self, seqid, iprot, oprot) return True def process_ping(self, seqid, iprot, oprot): args = ping_args() args.read(iprot) iprot.readMessageEnd() result = ping_result() try: result.success = self._handler.ping() msg_type = TMessageType.REPLY except TTransport.TTransportException: raise except pangramia.yt.exceptions.ttypes.PBServiceException as serviceExp: msg_type = TMessageType.REPLY result.serviceExp = serviceExp except pangramia.yt.exceptions.ttypes.PBUserException as userExp: msg_type = TMessageType.REPLY result.userExp = userExp except TApplicationException as ex: logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("ping", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() oprot.trans.flush() def process_reportError(self, seqid, iprot, oprot): args = reportError_args() args.read(iprot) iprot.readMessageEnd() result = reportError_result() try: result.success = self._handler.reportError(args.message, args.details) msg_type = TMessageType.REPLY except TTransport.TTransportException: raise except pangramia.yt.exceptions.ttypes.PBServiceException as serviceExp: msg_type = TMessageType.REPLY result.serviceExp = serviceExp except pangramia.yt.exceptions.ttypes.PBUserException as userExp: msg_type = TMessageType.REPLY result.userExp = userExp except TApplicationException as ex: logging.exception('TApplication exception in handler') msg_type = TMessageType.EXCEPTION result = ex except Exception: logging.exception('Unexpected exception in handler') msg_type = TMessageType.EXCEPTION result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error') oprot.writeMessageBegin("reportError", msg_type, seqid) result.write(oprot) oprot.writeMessageEnd() oprot.trans.flush() def process_shutdown(self, seqid, iprot, oprot): args = shutdown_args() args.read(iprot) iprot.readMessageEnd() try: self._handler.shutdown() except TTransport.TTransportException: raise except Exception: logging.exception('Exception in oneway handler') # HELPER FUNCTIONS AND STRUCTURES class ping_args(object): __slots__ = ( ) def read(self, iprot): if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) 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 oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return oprot.writeStructBegin('ping_args') oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): return def __repr__(self): L = ['%s=%r' % (key, getattr(self, key)) for key in self.__slots__] return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): if not isinstance(other, self.__class__): return False for attr in self.__slots__: my_val = getattr(self, attr) other_val = getattr(other, attr) if my_val != other_val: return False return True def __ne__(self, other): return not (self == other) all_structs.append(ping_args) ping_args.thrift_spec = ( ) class ping_result(object): """ Attributes: - success - serviceExp - userExp """ __slots__ = ( 'success', 'serviceExp', 'userExp', ) def __init__(self, success=None, serviceExp=None, userExp=None,): self.success = success self.serviceExp = serviceExp self.userExp = userExp def read(self, iprot): if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() while True: (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break if fid == 0: if ftype == TType.BOOL: self.success = iprot.readBool() else: iprot.skip(ftype) elif fid == 1: if ftype == TType.STRUCT: self.serviceExp = pangramia.yt.exceptions.ttypes.PBServiceException.read(iprot) else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRUCT: self.userExp = pangramia.yt.exceptions.ttypes.PBUserException.read(iprot) else: iprot.skip(ftype) else: iprot.skip(ftype) iprot.readFieldEnd() iprot.readStructEnd() def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return oprot.writeStructBegin('ping_result') if self.success is not None: oprot.writeFieldBegin('success', TType.BOOL, 0) oprot.writeBool(self.success) oprot.writeFieldEnd() if self.serviceExp is not None: oprot.writeFieldBegin('serviceExp', TType.STRUCT, 1) self.serviceExp.write(oprot) oprot.writeFieldEnd() if self.userExp is not None: oprot.writeFieldBegin('userExp', TType.STRUCT, 2) self.userExp.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): return def __repr__(self): L = ['%s=%r' % (key, getattr(self, key)) for key in self.__slots__] return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): if not isinstance(other, self.__class__): return False for attr in self.__slots__: my_val = getattr(self, attr) other_val = getattr(other, attr) if my_val != other_val: return False return True def __ne__(self, other): return not (self == other) all_structs.append(ping_result) ping_result.thrift_spec = ( (0, TType.BOOL, 'success', None, None, ), # 0 (1, TType.STRUCT, 'serviceExp', [pangramia.yt.exceptions.ttypes.PBServiceException, None], None, ), # 1 (2, TType.STRUCT, 'userExp', [pangramia.yt.exceptions.ttypes.PBUserException, None], None, ), # 2 ) class reportError_args(object): """ Attributes: - message - details """ __slots__ = ( 'message', 'details', ) def __init__(self, message=None, details=None,): self.message = message self.details = details def read(self, iprot): if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() while True: (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break if fid == 1: if ftype == TType.STRING: self.message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() else: iprot.skip(ftype) elif fid == 2: if ftype == TType.MAP: self.details = {} (_ktype1, _vtype2, _size0) = iprot.readMapBegin() for _i4 in range(_size0): _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() _val6 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString() self.details[_key5] = _val6 iprot.readMapEnd() else: iprot.skip(ftype) else: iprot.skip(ftype) iprot.readFieldEnd() iprot.readStructEnd() def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return oprot.writeStructBegin('reportError_args') if self.message is not None: oprot.writeFieldBegin('message', TType.STRING, 1) oprot.writeString(self.message.encode('utf-8') if sys.version_info[0] == 2 else self.message) oprot.writeFieldEnd() if self.details is not None: oprot.writeFieldBegin('details', TType.MAP, 2) oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.details)) for kiter7, viter8 in self.details.items(): oprot.writeString(kiter7.encode('utf-8') if sys.version_info[0] == 2 else kiter7) oprot.writeString(viter8.encode('utf-8') if sys.version_info[0] == 2 else viter8) oprot.writeMapEnd() oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): return def __repr__(self): L = ['%s=%r' % (key, getattr(self, key)) for key in self.__slots__] return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): if not isinstance(other, self.__class__): return False for attr in self.__slots__: my_val = getattr(self, attr) other_val = getattr(other, attr) if my_val != other_val: return False return True def __ne__(self, other): return not (self == other) all_structs.append(reportError_args) reportError_args.thrift_spec = ( None, # 0 (1, TType.STRING, 'message', 'UTF8', None, ), # 1 (2, TType.MAP, 'details', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ), # 2 ) class reportError_result(object): """ Attributes: - success - serviceExp - userExp """ __slots__ = ( 'success', 'serviceExp', 'userExp', ) def __init__(self, success=None, serviceExp=None, userExp=None,): self.success = success self.serviceExp = serviceExp self.userExp = userExp def read(self, iprot): if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) return iprot.readStructBegin() while True: (fname, ftype, fid) = iprot.readFieldBegin() if ftype == TType.STOP: break if fid == 0: if ftype == TType.BOOL: self.success = iprot.readBool() else: iprot.skip(ftype) elif fid == 1: if ftype == TType.STRUCT: self.serviceExp = pangramia.yt.exceptions.ttypes.PBServiceException.read(iprot) else: iprot.skip(ftype) elif fid == 2: if ftype == TType.STRUCT: self.userExp = pangramia.yt.exceptions.ttypes.PBUserException.read(iprot) else: iprot.skip(ftype) else: iprot.skip(ftype) iprot.readFieldEnd() iprot.readStructEnd() def write(self, oprot): if oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return oprot.writeStructBegin('reportError_result') if self.success is not None: oprot.writeFieldBegin('success', TType.BOOL, 0) oprot.writeBool(self.success) oprot.writeFieldEnd() if self.serviceExp is not None: oprot.writeFieldBegin('serviceExp', TType.STRUCT, 1) self.serviceExp.write(oprot) oprot.writeFieldEnd() if self.userExp is not None: oprot.writeFieldBegin('userExp', TType.STRUCT, 2) self.userExp.write(oprot) oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): return def __repr__(self): L = ['%s=%r' % (key, getattr(self, key)) for key in self.__slots__] return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): if not isinstance(other, self.__class__): return False for attr in self.__slots__: my_val = getattr(self, attr) other_val = getattr(other, attr) if my_val != other_val: return False return True def __ne__(self, other): return not (self == other) all_structs.append(reportError_result) reportError_result.thrift_spec = ( (0, TType.BOOL, 'success', None, None, ), # 0 (1, TType.STRUCT, 'serviceExp', [pangramia.yt.exceptions.ttypes.PBServiceException, None], None, ), # 1 (2, TType.STRUCT, 'userExp', [pangramia.yt.exceptions.ttypes.PBUserException, None], None, ), # 2 ) class shutdown_args(object): __slots__ = ( ) def read(self, iprot): if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None: iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec]) 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 oprot._fast_encode is not None and self.thrift_spec is not None: oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec])) return oprot.writeStructBegin('shutdown_args') oprot.writeFieldStop() oprot.writeStructEnd() def validate(self): return def __repr__(self): L = ['%s=%r' % (key, getattr(self, key)) for key in self.__slots__] return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) def __eq__(self, other): if not isinstance(other, self.__class__): return False for attr in self.__slots__: my_val = getattr(self, attr) other_val = getattr(other, attr) if my_val != other_val: return False return True def __ne__(self, other): return not (self == other) all_structs.append(shutdown_args) shutdown_args.thrift_spec = ( ) fix_spec(all_structs) del all_structs