1
0
Эх сурвалжийг харах

storing persistent traffic data in seperate dir
this simplifies docker configuration to keep them in a seperate volume

Rodja Trappe 2 жил өмнө
parent
commit
a4333f439b
1 өөрчлөгдсөн 8 нэмэгдсэн , 4 устгасан
  1. 8 4
      traffic_tracking.py

+ 8 - 4
traffic_tracking.py

@@ -9,6 +9,8 @@ from starlette.requests import Request
 
 from nicegui import ui
 
+VISITS_FILE = 'traffic_data/visits.pickle'
+SESSIONS_FILE = 'traffic_data/sessions.pickle'
 page_visits: Dict[int, int] = {}
 page_sessions: Dict[int, Set[str]] = {}
 
@@ -50,10 +52,12 @@ def add_chart() -> ui.chart:
 
 def load() -> None:
     global page_visits, page_sessions
+    os.makedirs(os.path.dirname(VISITS_FILE), exist_ok=True)
+    os.makedirs(os.path.dirname(SESSIONS_FILE), exist_ok=True)
     try:
-        with open('page_visits.pickle', 'rb') as f:
+        with open(VISITS_FILE, 'rb') as f:
             page_visits = pickle.load(f)
-        with open('page_sessions.pickle', 'rb') as f:
+        with open(SESSIONS_FILE, 'rb') as f:
             page_sessions = pickle.load(f)
     except FileNotFoundError:
         pass
@@ -64,9 +68,9 @@ def load() -> None:
 def save() -> None:
     def _save():
         try:
-            with open('page_visits.pickle', 'wb') as f:
+            with open(VISITS_FILE, 'wb') as f:
                 pickle.dump(page_visits, f)
-            with open('page_sessions.pickle', 'wb') as f:
+            with open(SESSIONS_FILE, 'wb') as f:
                 pickle.dump(page_sessions, f)
         except:
             logging.exception("Error saving traffic data")