#!/usr/bin/env python3

import argparse
import sys

import mo.config as config
import mo.db as db
import mo.users
import mo.util

parser = argparse.ArgumentParser(description='Resetuje uživateli heslo a pošle mail')
parser.add_argument(dest='email', help='e-mailová adresa')
parser.add_argument('--new', default=False, action='store_true', help='pošle mail o založení účtu')
parser.add_argument('--mail-instead', metavar='EMAIL', default=None, help='pošle mail někomu jinému')

args = parser.parse_args()

mo.util.init_standalone()
session = db.get_session()

user = mo.users.user_by_email(args.email)
if user is None:
    mo.util.die('Tento uživatel neexistuje')

token = mo.users.ask_reset_password(user)
session.commit()

if args.mail_instead:
    mo.config.MAIL_INSTEAD = args.mail_instead

if args.new:
    mo.util.send_new_account_email(user, token)
else:
    mo.util.send_password_reset_email(user, token)