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,
|
||
|
)
|