32 lines
728 B
Python
32 lines
728 B
Python
from uuid import uuid4, UUID
|
|
|
|
from flask import session, render_template
|
|
|
|
from WebHostLib import app
|
|
|
|
|
|
@app.before_request
|
|
def register_session():
|
|
session.permanent = True # technically 31 days after the last visit
|
|
if not session.get("_id", None):
|
|
session["_id"] = uuid4() # uniquely identify each session without needing a login
|
|
|
|
|
|
@app.route('/session')
|
|
def show_session():
|
|
return render_template(
|
|
"session.html",
|
|
)
|
|
|
|
|
|
@app.route('/session/<string:_id>')
|
|
def set_session(_id: str):
|
|
new_id: UUID = UUID(_id, version=4)
|
|
old_id: UUID = session["_id"]
|
|
if old_id != new_id:
|
|
session["_id"] = new_id
|
|
return render_template(
|
|
"session.html",
|
|
old_id=old_id,
|
|
)
|