def login_user(cls, name, password):
session = SessionManager.Session()
try:
user = session.query(User).filter(User.name == name).one()
if check_password_hash(user.password, password):
credential = cls(user)
SessionManager.Session.remove()
return credential
else:
raise ClientError(ClientError.LOGIN_FAIL)
except NoResultFound:
raise ClientError(ClientError.LOGIN_FAIL)
except DataError:
raise ClientError(ClientError.LOGIN_FAIL)
except ClientError as error:
raise error
except Exception as error:
raise ServerError(error.message)
finally:
SessionManager.Session.remove()
评论列表
文章目录