def read()

in heracles/hive/hive_metastore/ttypes.py [0:0]


    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.MAP:
                    self.userPrivileges = {}
                    (_ktype22, _vtype23, _size21) = iprot.readMapBegin()
                    for _i25 in range(_size21):
                        _key26 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
                        _val27 = []
                        (_etype31, _size28) = iprot.readListBegin()
                        for _i32 in range(_size28):
                            _elem33 = PrivilegeGrantInfo()
                            _elem33.read(iprot)
                            _val27.append(_elem33)
                        iprot.readListEnd()
                        self.userPrivileges[_key26] = _val27
                    iprot.readMapEnd()
                else:
                    iprot.skip(ftype)
            elif fid == 2:
                if ftype == TType.MAP:
                    self.groupPrivileges = {}
                    (_ktype35, _vtype36, _size34) = iprot.readMapBegin()
                    for _i38 in range(_size34):
                        _key39 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
                        _val40 = []
                        (_etype44, _size41) = iprot.readListBegin()
                        for _i45 in range(_size41):
                            _elem46 = PrivilegeGrantInfo()
                            _elem46.read(iprot)
                            _val40.append(_elem46)
                        iprot.readListEnd()
                        self.groupPrivileges[_key39] = _val40
                    iprot.readMapEnd()
                else:
                    iprot.skip(ftype)
            elif fid == 3:
                if ftype == TType.MAP:
                    self.rolePrivileges = {}
                    (_ktype48, _vtype49, _size47) = iprot.readMapBegin()
                    for _i51 in range(_size47):
                        _key52 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
                        _val53 = []
                        (_etype57, _size54) = iprot.readListBegin()
                        for _i58 in range(_size54):
                            _elem59 = PrivilegeGrantInfo()
                            _elem59.read(iprot)
                            _val53.append(_elem59)
                        iprot.readListEnd()
                        self.rolePrivileges[_key52] = _val53
                    iprot.readMapEnd()
                else:
                    iprot.skip(ftype)
            else:
                iprot.skip(ftype)
            iprot.readFieldEnd()
        iprot.readStructEnd()