adds .local/share/millennium and easyeffects

This commit is contained in:
2026-08-06 18:27:07 +02:00
parent c52d483074
commit 778c0155bd
2581 changed files with 339035 additions and 0 deletions
@@ -0,0 +1,49 @@
"""
Request handler for WebSocket communication.
Manages pending requests and their responses.
"""
import time
from typing import Any, Dict, Optional
from logger.logger import logger # pylint: disable=import-error
class RequestHandler:
"""
Handles tracking and managing WebSocket requests.
"""
def __init__(self):
self._pending_requests: Dict[str, Dict[str, Any]] = {}
def add_request(self, request_id: str, client: Dict[str, Any]) -> None:
self._pending_requests[request_id] = {
'client': client,
'timestamp': time.time()
}
def get_request(self, request_id: str) -> Optional[Dict[str, Any]]:
return self._pending_requests.get(request_id)
def remove_request(self, request_id: str) -> bool:
if request_id in self._pending_requests:
del self._pending_requests[request_id]
return True
return False
def cleanup_old_requests(self, max_age_seconds: int) -> int:
current_time = time.time()
to_remove = []
for request_id, request_data in self._pending_requests.items():
if current_time - request_data['timestamp'] > max_age_seconds:
to_remove.append(request_id)
for request_id in to_remove:
del self._pending_requests[request_id]
if to_remove:
logger.log(f"Cleaned up {len(to_remove)} stale requests")
return len(to_remove)