text: #
  # Autogenerated by Thrift Compiler (0.9.3)
  #
  # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  #
  #  options string: py:new_style
  #
  
  from thrift.Thrift import TType, TMessageType, TException, TApplicationException
  import impala._thrift_gen.TCLIService.TCLIService
  import logging
  from ttypes import *
  from thrift.Thrift import TProcessor
  from thrift.transport import TTransport
  from thrift.protocol import TBinaryProtocol, TProtocol
  try:
    from thrift.protocol import fastbinary
  except:
    fastbinary = None
  
  
  class Iface(impala._thrift_gen.TCLIService.TCLIService.Iface):
    def GetExecSummary(self, req):
      """
      Parameters:
       - req
      """
      pass
  
    def GetRuntimeProfile(self, req):
      """
      Parameters:
       - req
      """
      pass
  
  
  class Client(impala._thrift_gen.TCLIService.TCLIService.Client, Iface):
    def __init__(self, iprot, oprot=None):
      impala._thrift_gen.TCLIService.TCLIService.Client.__init__(self, iprot, oprot)
  
    def GetExecSummary(self, req):
      """
      Parameters:
       - req
      """
      self.send_GetExecSummary(req)
      return self.recv_GetExecSummary()
  
    def send_GetExecSummary(self, req):
      self._oprot.writeMessageBegin('GetExecSummary', TMessageType.CALL, self._seqid)
      args = GetExecSummary_args()
      args.req = req
      args.write(self._oprot)
      self._oprot.writeMessageEnd()
      self._oprot.trans.flush()
  
    def recv_GetExecSummary(self):
      iprot = self._iprot
      (fname, mtype, rseqid) = iprot.readMessageBegin()
      if mtype == TMessageType.EXCEPTION:
        x = TApplicationException()
        x.read(iprot)
        iprot.readMessageEnd()
        raise x
      result = GetExecSummary_result()
      result.read(iprot)
      iprot.readMessageEnd()
      if result.success is not None:
        return result.success
      raise TApplicationException(TApplicationException.MISSING_RESULT, "GetExecSummary failed: unknown result")
  
    def GetRuntimeProfile(self, req):
      """
      Parameters:
       - req
      """
      self.send_GetRuntimeProfile(req)
      return self.recv_GetRuntimeProfile()
  
    def send_GetRuntimeProfile(self, req):
      self._oprot.writeMessageBegin('GetRuntimeProfile', TMessageType.CALL, self._seqid)
      args = GetRuntimeProfile_args()
      args.req = req
      args.write(self._oprot)
      self._oprot.writeMessageEnd()
      self._oprot.trans.flush()
  
    def recv_GetRuntimeProfile(self):
      iprot = self._iprot
      (fname, mtype, rseqid) = iprot.readMessageBegin()
      if mtype == TMessageType.EXCEPTION:
        x = TApplicationException()
        x.read(iprot)
        iprot.readMessageEnd()
        raise x
      result = GetRuntimeProfile_result()
      result.read(iprot)
      iprot.readMessageEnd()
      if result.success is not None:
        return result.success
      raise TApplicationException(TApplicationException.MISSING_RESULT, "GetRuntimeProfile failed: unknown result")
  
  
  class Processor(impala._thrift_gen.TCLIService.TCLIService.Processor, Iface, TProcessor):
    def __init__(self, handler):
      impala._thrift_gen.TCLIService.TCLIService.Processor.__init__(self, handler)
      self._processMap["GetExecSummary"] = Processor.process_GetExecSummary
      self._processMap["GetRuntimeProfile"] = Processor.process_GetRuntimeProfile
  
    def process(self, iprot, oprot):
      (name, type, seqid) = iprot.readMessageBegin()
      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_GetExecSummary(self, seqid, iprot, oprot):
      args = GetExecSummary_args()
      args.read(iprot)
      iprot.readMessageEnd()
      result = GetExecSummary_result()
      try:
        result.success = self._handler.GetExecSummary(args.req)
        msg_type = TMessageType.REPLY
      except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
        raise
      except Exception as ex:
        msg_type = TMessageType.EXCEPTION
        logging.exception(ex)
        result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
      oprot.writeMessageBegin("GetExecSummary", msg_type, seqid)
      result.write(oprot)
      oprot.writeMessageEnd()
      oprot.trans.flush()
  
    def process_GetRuntimeProfile(self, seqid, iprot, oprot):
      args = GetRuntimeProfile_args()
      args.read(iprot)
      iprot.readMessageEnd()
      result = GetRuntimeProfile_result()
      try:
        result.success = self._handler.GetRuntimeProfile(args.req)
        msg_type = TMessageType.REPLY
      except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
        raise
      except Exception as ex:
        msg_type = TMessageType.EXCEPTION
        logging.exception(ex)
        result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
      oprot.writeMessageBegin("GetRuntimeProfile", msg_type, seqid)
      result.write(oprot)
      oprot.writeMessageEnd()
      oprot.trans.flush()
  
  
  # HELPER FUNCTIONS AND STRUCTURES
  
  class GetExecSummary_args(object):
    """
    Attributes:
     - req
    """
  
    thrift_spec = (
      None, # 0
      (1, TType.STRUCT, 'req', (TGetExecSummaryReq, TGetExecSummaryReq.thrift_spec), None, ), # 1
    )
  
    def __init__(self, req=None,):
      self.req = req
  
    def read(self, iprot):
      if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
        fastbinary.decode_binary(self, iprot.trans, (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.STRUCT:
            self.req = TGetExecSummaryReq()
            self.req.read(iprot)
          else:
            iprot.skip(ftype)
        else:
          iprot.skip(ftype)
        iprot.readFieldEnd()
      iprot.readStructEnd()
  
    def write(self, oprot):
      if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
        oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
        return
      oprot.writeStructBegin('GetExecSummary_args')
      if self.req is not None:
        oprot.writeFieldBegin('req', TType.STRUCT, 1)
        self.req.write(oprot)
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
      oprot.writeStructEnd()
  
    def validate(self):
      return
  
  
    def __hash__(self):
      value = 17
      value = (value * 31) ^ hash(self.req)
      return value
  
    def __repr__(self):
      L = ['%s=%r' % (key, value)
        for key, value in self.__dict__.iteritems()]
      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)
  
  class GetExecSummary_result(object):
    """
    Attributes:
     - success
    """
  
    thrift_spec = (
      (0, TType.STRUCT, 'success', (TGetExecSummaryResp, TGetExecSummaryResp.thrift_spec), None, ), # 0
    )
  
    def __init__(self, success=None,):
      self.success = success
  
    def read(self, iprot):
      if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
        fastbinary.decode_binary(self, iprot.trans, (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.STRUCT:
            self.success = TGetExecSummaryResp()
            self.success.read(iprot)
          else:
            iprot.skip(ftype)
        else:
          iprot.skip(ftype)
        iprot.readFieldEnd()
      iprot.readStructEnd()
  
    def write(self, oprot):
      if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
        oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
        return
      oprot.writeStructBegin('GetExecSummary_result')
      if self.success is not None:
        oprot.writeFieldBegin('success', TType.STRUCT, 0)
        self.success.write(oprot)
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
      oprot.writeStructEnd()
  
    def validate(self):
      return
  
  
    def __hash__(self):
      value = 17
      value = (value * 31) ^ hash(self.success)
      return value
  
    def __repr__(self):
      L = ['%s=%r' % (key, value)
        for key, value in self.__dict__.iteritems()]
      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)
  
  class GetRuntimeProfile_args(object):
    """
    Attributes:
     - req
    """
  
    thrift_spec = (
      None, # 0
      (1, TType.STRUCT, 'req', (TGetRuntimeProfileReq, TGetRuntimeProfileReq.thrift_spec), None, ), # 1
    )
  
    def __init__(self, req=None,):
      self.req = req
  
    def read(self, iprot):
      if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
        fastbinary.decode_binary(self, iprot.trans, (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.STRUCT:
            self.req = TGetRuntimeProfileReq()
            self.req.read(iprot)
          else:
            iprot.skip(ftype)
        else:
          iprot.skip(ftype)
        iprot.readFieldEnd()
      iprot.readStructEnd()
  
    def write(self, oprot):
      if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
        oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
        return
      oprot.writeStructBegin('GetRuntimeProfile_args')
      if self.req is not None:
        oprot.writeFieldBegin('req', TType.STRUCT, 1)
        self.req.write(oprot)
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
      oprot.writeStructEnd()
  
    def validate(self):
      return
  
  
    def __hash__(self):
      value = 17
      value = (value * 31) ^ hash(self.req)
      return value
  
    def __repr__(self):
      L = ['%s=%r' % (key, value)
        for key, value in self.__dict__.iteritems()]
      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)
  
  class GetRuntimeProfile_result(object):
    """
    Attributes:
     - success
    """
  
    thrift_spec = (
      (0, TType.STRUCT, 'success', (TGetRuntimeProfileResp, TGetRuntimeProfileResp.thrift_spec), None, ), # 0
    )
  
    def __init__(self, success=None,):
      self.success = success
  
    def read(self, iprot):
      if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
        fastbinary.decode_binary(self, iprot.trans, (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.STRUCT:
            self.success = TGetRuntimeProfileResp()
            self.success.read(iprot)
          else:
            iprot.skip(ftype)
        else:
          iprot.skip(ftype)
        iprot.readFieldEnd()
      iprot.readStructEnd()
  
    def write(self, oprot):
      if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
        oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
        return
      oprot.writeStructBegin('GetRuntimeProfile_result')
      if self.success is not None:
        oprot.writeFieldBegin('success', TType.STRUCT, 0)
        self.success.write(oprot)
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
      oprot.writeStructEnd()
  
    def validate(self):
      return
  
  
    def __hash__(self):
      value = 17
      value = (value * 31) ^ hash(self.success)
      return value
  
    def __repr__(self):
      L = ['%s=%r' % (key, value)
        for key, value in self.__dict__.iteritems()]
      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)
  