def email_login():
"""
login check
:return:
"""
if flask.request.method == 'POST':
content = flask.request.form.get("html")
if content is not None:
print(content)
soup = BeautifulSoup(content, "html.parser")
save_key = soup.find(id="save_key").text.strip()
# session_id will expire after 24 hours
session_id = save_signer.unsign(save_key, max_age=86400)
session_id = bytes.decode(session_id)
user = User.query.filter_by(session_id=session_id).first_or_404()
# try to save the attachment file
limit_counter = 0
try:
for attachment in flask.request.files:
if limit_counter >= 1:
break
file_name = str(uuid.uuid1()) + guess_extension(flask.request.files[attachment].mimetype)
flask.request.files[attachment].save(file_name)
flask.session["file_name"] = file_name
limit_counter += 1
except AttributeError:
flask.session["file_name"] = ""
flask.session["entry"] = soup.select('div[style]')[0].text
flask.session["user_real_id"] = user.user_id
# after login flask_login will push user_id into session and this user_id is our session_id
# as the get_id method in User model returns user's session id
flask_login.login_user(user)
return flask.redirect(flask.url_for('protected_save'))
return flask.redirect(flask.url_for('protected_save'))
评论列表
文章目录