luminoussg commited on
Commit
a66103f
·
verified ·
1 Parent(s): f32ce56

Create session_manager.py

Browse files
Files changed (1) hide show
  1. session_manager.py +38 -0
session_manager.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+ import uuid
3
+ from datetime import datetime
4
+ from pathlib import Path
5
+
6
+ class SessionManager:
7
+ def __init__(self):
8
+ self.sessions_dir = Path("data/sessions")
9
+ self.sessions_dir.mkdir(parents=True, exist_ok=True)
10
+
11
+ def create_session(self) -> str:
12
+ """Create new empty session and return ID"""
13
+ session_id = str(uuid.uuid4())
14
+ self.save_session(session_id, {
15
+ "created_at": datetime.now().isoformat(),
16
+ "history": []
17
+ })
18
+ return session_id
19
+
20
+ def save_session(self, session_id: str, data: dict):
21
+ """Save session data to file"""
22
+ with open(self.sessions_dir / f"{session_id}.json", "w") as f:
23
+ json.dump(data, f, indent=2)
24
+
25
+ def load_session(self, session_id: str) -> dict:
26
+ """Load session data or create new if not found"""
27
+ try:
28
+ with open(self.sessions_dir / f"{session_id}.json") as f:
29
+ return json.load(f)
30
+ except FileNotFoundError:
31
+ return self.create_session()
32
+
33
+ def clear_session(self, session_id: str):
34
+ """Reset session while keeping ID"""
35
+ self.save_session(session_id, {
36
+ "created_at": datetime.now().isoformat(),
37
+ "history": []
38
+ })