def get_user(self, name: str): """ Get user by name. :param name: :return: user: User object """ try: user_d = self.connector.get_user_by_name(name) user = User(user_d['name'], user_d['level'], user_d['password_hash']) user._id = user_d['_id'] return user except Exception as e: print('ExperimentController-get_user: {}'.format(str(e)), file=sys.stderr) return None
def authenticate(self, **kwargs): """ Authenticate user. :param kwargs: :return: user: User object """ name = kwargs.get('name') password = kwargs.get('password') if not name or not password: return None user = self.connector.get_user_by_name(name) if not user or not check_password_hash(user['password_hash'], password): return None u = User(user['name'], user['level'], user['password_hash']) u._id = user['_id'] return u