from flask import render_template, current_app from flask_babel import _ from app.email import send_email import math, random def generate_otp(user): # Declare a digits variable # which stores all digits digits = "0123456789" otp = "" # length of password can be changed # by changing value in range for i in range(4): otp += digits[math.floor(random.random() * 10)] user.otp = otp return otp def send_otp_email(user): otp = generate_otp(user) send_email(_('[Microblog] Your one time passcode'), sender=current_app.config['ADMINS'][0], recipients=[user.email], text_body=render_template('email/otp.txt', user=user, otp=otp), html_body=render_template('email/otp.html', user=user, otp=otp)) def send_password_reset_email(user): token = user.get_reset_password_token() send_email(_('[Microblog] Reset Your Password'), sender=current_app.config['ADMINS'][0], recipients=[user.email], text_body=render_template('email/reset_password.txt', user=user, token=token), html_body=render_template('email/reset_password.html', user=user, token=token))