def _parse_nested_params(self, cleaners):
        params = {}
        while True:
            try:
                tup = self._next_tuple()
            except __HOLE__:
                break
            if pd.isnull(tup[1]):
                break

            key, value = tup[1:]

            if key.lower() in cleaners:
                cleaner = cleaners[key.lower()]
                value = cleaner(value)
            params[key] = value

        return params
dataset/ETHPy150Open cloudera/ibis/ibis/impala/metadata.py/MetadataParser._parse_nested_params