mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	
		
			
	
	
		
			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, | ||
|  |     ) |