import argparse from sqlalchemy import select from app.core.security import get_password_hash from app.core.session import session from app.models import User def update_user_pwd(email: str, new_password: str): with session() as db: user = db.execute(select(User).where(User.email == email)).scalars().first() if user is not None: user.hashed_password = get_password_hash(new_password) db.commit() else: raise ValueError(f"User {email} not known !") if __name__ == "__main__": parser = argparse.ArgumentParser( prog="BDLGPlanner password manager", description="This program help admin to update password from users that forgot it", ) parser.add_argument("email") parser.add_argument("password") args = parser.parse_args() update_user_pwd(args.email, args.password)