This commit is contained in:
doms9 2025-09-04 11:50:29 -04:00
parent 8ece1961e0
commit 00000d91c9
2 changed files with 21 additions and 13 deletions

View file

@ -64,13 +64,17 @@ async def get_cert(client: httpx.AsyncClient) -> ssl.SSLContext:
return ssl.create_default_context(cafile=CERT_FILE) return ssl.create_default_context(cafile=CERT_FILE)
def load_cache() -> dict[str, dict[str, str | str]]: def load_cache() -> dict[str, dict[str, str | float]]:
try: try:
data: dict = json.loads(CACHE_FILE.read_text(encoding="utf-8")) data: dict[str, dict[str, str | float]] = json.loads(
CACHE_FILE.read_text(encoding="utf-8")
)
age: float = now.timestamp() - data.get("timestamp", 0) return {
k: v
return {k: v for k, v in data.items() if age < 14400} # 4 hours for k, v in data.items()
if now.timestamp() - data[k].get("timestamp", 0) < 14400 # 4 hours
}
except (FileNotFoundError, json.JSONDecodeError): except (FileNotFoundError, json.JSONDecodeError):
return {} return {}

View file

@ -3,7 +3,7 @@
import asyncio import asyncio
import json import json
import re import re
from datetime import datetime from datetime import datetime, timedelta
from pathlib import Path from pathlib import Path
from urllib.parse import urljoin from urllib.parse import urljoin
@ -36,13 +36,17 @@ async def refresh_api_cache(client: httpx.AsyncClient, url: str) -> dict:
return r.json() return r.json()
def load_cache() -> dict[str, dict[str, str | str]]: def load_cache() -> dict[str, dict[str, str | float]]:
try: try:
data: dict = json.loads(CACHE_FILE.read_text(encoding="utf-8")) data: dict[str, dict[str, str | float]] = json.loads(
CACHE_FILE.read_text(encoding="utf-8")
)
age: float = now.timestamp() - data.get("timestamp", 0) return {
k: v
return {k: v for k, v in data.items() if age < 14400} # 4 hours for k, v in data.items()
if now.timestamp() - data[k].get("timestamp", 0) < 14400 # 4 hours
}
except (FileNotFoundError, json.JSONDecodeError): except (FileNotFoundError, json.JSONDecodeError):
return {} return {}
@ -156,9 +160,9 @@ async def get_events(
if key in cached_keys: if key in cached_keys:
continue continue
start_dt = datetime.fromtimestamp(start_ts, tz=TZ) start_dt = datetime.fromtimestamp(start_ts, tz=TZ) - timedelta(minutes=30)
end_dt = datetime.fromtimestamp(end_ts, tz=TZ) end_dt = datetime.fromtimestamp(end_ts, tz=TZ) + timedelta(minutes=30)
if not start_dt <= now < end_dt: if not start_dt <= now < end_dt:
continue continue