def restore(cls, data_store, data_model, **kwargs): kwargs.update({ 'client': data_model.client, 'profile_name': data_model.profile_name, 'statistics': UserStatistics.restore(data_store, data_model.statistics), 'username': data_model.username, 'email': data_model.email, 'pw_hash': data_model.pw_hash, 'settings': data_model.settings, 'active_games': data_model.active_games, 'access': data_model.access, 'profile_avatar': data_model.profile_avatar, 'friends': data_model.friends, 'blocked': data_model.blocked }) return super(User, cls).restore(data_store, data_model, **kwargs)
def new(cls, client, username, email, pw_hash, data_store=None, refer=None, **kwargs): if 'profile_name' not in kwargs: kwargs['profile_name'] = email[:email.index('@')] if 'statistics' not in kwargs: kwargs['statistics'] = UserStatistics.new(data_store) if 'settings' in kwargs: s = kwargs['settings'] kwargs['settings'] = cls.DEFAULT_SETTINGS kwargs['settings'].update(s) kwargs.update({ 'client': client, 'username': username, 'email': email, 'pw_hash': pw_hash }) ctrl = super(User, cls).new(data_store, **kwargs) if refer: ctrl.add_friend(refer) return ctrl