Update download_api.py
Browse files- download_api.py +5 -4
download_api.py
CHANGED
|
@@ -15,12 +15,12 @@ from datetime import datetime
|
|
| 15 |
|
| 16 |
import torch
|
| 17 |
|
| 18 |
-
# Import
|
| 19 |
from vision_analyzer import (
|
| 20 |
main_processing_loop,
|
| 21 |
processing_status,
|
| 22 |
log_message,
|
| 23 |
-
FRAMES_OUTPUT_FOLDER
|
| 24 |
)
|
| 25 |
|
| 26 |
# FastAPI App Definition
|
|
@@ -42,6 +42,7 @@ processing_thread = None
|
|
| 42 |
frame_locks = {} # Dict to track frame locks: {course: {frame: {"locked_by": id, "locked_at": timestamp}}}
|
| 43 |
processed_frames = {} # Dict to track processed frames: {course: {frame: {"processed_by": id, "processed_at": timestamp}}}
|
| 44 |
LOCK_TIMEOUT = 300 # 5 minutes timeout for locks
|
|
|
|
| 45 |
|
| 46 |
def save_tracking_state():
|
| 47 |
"""Save frame tracking state to disk"""
|
|
@@ -50,7 +51,7 @@ def save_tracking_state():
|
|
| 50 |
"processed_frames": processed_frames
|
| 51 |
}
|
| 52 |
try:
|
| 53 |
-
with open(
|
| 54 |
json.dump(state, f, indent=2)
|
| 55 |
except Exception as e:
|
| 56 |
log_message(f"Error saving tracking state: {e}")
|
|
@@ -59,7 +60,7 @@ def load_tracking_state():
|
|
| 59 |
"""Load frame tracking state from disk"""
|
| 60 |
global frame_locks, processed_frames
|
| 61 |
try:
|
| 62 |
-
with open(
|
| 63 |
state = json.load(f)
|
| 64 |
frame_locks = state.get("frame_locks", {})
|
| 65 |
processed_frames = state.get("processed_frames", {})
|
|
|
|
| 15 |
|
| 16 |
import torch
|
| 17 |
|
| 18 |
+
# Import core functionality
|
| 19 |
from vision_analyzer import (
|
| 20 |
main_processing_loop,
|
| 21 |
processing_status,
|
| 22 |
log_message,
|
| 23 |
+
FRAMES_OUTPUT_FOLDER
|
| 24 |
)
|
| 25 |
|
| 26 |
# FastAPI App Definition
|
|
|
|
| 42 |
frame_locks = {} # Dict to track frame locks: {course: {frame: {"locked_by": id, "locked_at": timestamp}}}
|
| 43 |
processed_frames = {} # Dict to track processed frames: {course: {frame: {"processed_by": id, "processed_at": timestamp}}}
|
| 44 |
LOCK_TIMEOUT = 300 # 5 minutes timeout for locks
|
| 45 |
+
TRACKING_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), "frame_tracking.json")
|
| 46 |
|
| 47 |
def save_tracking_state():
|
| 48 |
"""Save frame tracking state to disk"""
|
|
|
|
| 51 |
"processed_frames": processed_frames
|
| 52 |
}
|
| 53 |
try:
|
| 54 |
+
with open(TRACKING_FILE, "w") as f:
|
| 55 |
json.dump(state, f, indent=2)
|
| 56 |
except Exception as e:
|
| 57 |
log_message(f"Error saving tracking state: {e}")
|
|
|
|
| 60 |
"""Load frame tracking state from disk"""
|
| 61 |
global frame_locks, processed_frames
|
| 62 |
try:
|
| 63 |
+
with open(TRACKING_FILE, "r") as f:
|
| 64 |
state = json.load(f)
|
| 65 |
frame_locks = state.get("frame_locks", {})
|
| 66 |
processed_frames = state.get("processed_frames", {})
|