def add_user_from_conv_part(self, conv_part):
        user_ = User.from_conv_part_data(conv_part, self._self_user.id_)

        existing = self._user_dict.get(user_.id_)
        if existing is None:
            logging.warning('Adding fallback User with {} name "{}": {}'
                            .format(user_.name_type.name.lower(),
                                    user_.full_name, user_))
            self._user_dict[user_.id_] = user_
            return user_
        else:
            existing.upgrade_name(user_)
            return existing
create / validate metadata
dataset/ETHPy150Open tdryer/hangups/hangups/user.py/UserList.add_user_from_conv_part--crossover with--dataset/ETHPy150Open pydata/pandas/pandas/io/pytables.py/Table.validate_metadata