Improve sync feedback and dashboard layout

Add request counters to Radio 357 backfill logs, clarify RNŚ warnings, and refine responsive dashboard metrics and configuration layout.
This commit is contained in:
2026-09-03 12:38:56 +02:00
parent 95e2efecdb
commit 45bfb8fa5f
4 changed files with 34 additions and 26 deletions
+5 -5
View File
@@ -240,12 +240,12 @@ class Radio357Scraper:
if self.requests_made >= self.hard_limit or backfill_count >= self.backfill_limit:
break
self.logger(f"R357: Pobieram URL dla {ep.title[:30]}...")
gateway_url = f"https://gateway.r357.eu/api/content/podcast/{ep.ep_id}/url"
self.requests_made += 1
if self.progress_callback: self.progress_callback(self.requests_made, self.hard_limit)
backfill_count += 1
self.logger(f"R357: [{self.requests_made}/{self.hard_limit}] Pobieram URL dla {ep.title[:30]}...")
try:
r = requests.get(gateway_url, headers={
"Authorization": f"Bearer {token}",
@@ -259,22 +259,22 @@ class Radio357Scraper:
ep.url = audio_url
fetched += 1
elif r.status_code == 401 or r.status_code == 403:
self.logger("R357: Token odrzucony przez gateway. Wymagam reloginu.")
self.logger(f"R357: [{self.requests_made}/{self.hard_limit}] Token odrzucony przez gateway. Wymagam reloginu.")
# Usuwamy token, zeby przy nastepnym runie pobral nowy
self.db.query(Config).filter_by(key="r357_token").delete()
self.db.commit()
raise Exception("R357 Token Expired")
else:
self.logger(f"R357 Błąd HTTP {r.status_code} podczas pobierania audio: {r.text[:100]}")
self.logger(f"R357: [{self.requests_made}/{self.hard_limit}] Błąd HTTP {r.status_code} podczas pobierania audio: {r.text[:100]}")
except Exception as e:
self.logger(f"R357: Błąd URL dla odcinka {ep.ep_id}: {e}")
self.logger(f"R357: [{self.requests_made}/{self.hard_limit}] Błąd URL dla odcinka {ep.ep_id}: {e}")
if "Token Expired" in str(e):
raise
time.sleep(0.5)
self.db.commit()
self.logger(f"R357: Pomyślnie pobrano {fetched} nowych linków.")
self.logger(f"R357: [{self.requests_made}/{self.hard_limit}] Pomyślnie pobrano {fetched} nowych linków.")
def run_full_sync(self, specific_program_slug=None):
self.sync_episodes(specific_program_slug)