565 lines
19 KiB
Python
565 lines
19 KiB
Python
#
|
|
# Autogenerated by Thrift Compiler (0.20.0)
|
|
#
|
|
# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
|
|
#
|
|
# options string: py
|
|
#
|
|
|
|
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):
|
|
|
|
|
|
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, value)
|
|
for key, value in self.__dict__.items()]
|
|
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
|
|
def __eq__(self, other):
|
|
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
|
|
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
|
|
|
|
"""
|
|
|
|
|
|
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, value)
|
|
for key, value in self.__dict__.items()]
|
|
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
|
|
def __eq__(self, other):
|
|
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
|
|
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
|
|
|
|
"""
|
|
|
|
|
|
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, value)
|
|
for key, value in self.__dict__.items()]
|
|
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
|
|
def __eq__(self, other):
|
|
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
|
|
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
|
|
|
|
"""
|
|
|
|
|
|
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, value)
|
|
for key, value in self.__dict__.items()]
|
|
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
|
|
def __eq__(self, other):
|
|
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
|
|
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):
|
|
|
|
|
|
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, value)
|
|
for key, value in self.__dict__.items()]
|
|
return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
|
|
|
|
def __eq__(self, other):
|
|
return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
|
|
|
|
def __ne__(self, other):
|
|
return not (self == other)
|
|
all_structs.append(shutdown_args)
|
|
shutdown_args.thrift_spec = (
|
|
)
|
|
fix_spec(all_structs)
|
|
del all_structs
|