fix: migrations, auth, providers health check, E2E tests, remove neko-sama
- Add proper Alembic initial migration (0001_initial_schema.py) - Migrate refresh tokens from JSON file to SQLite (RefreshTokenTable) - Remove Neko-Sama provider entirely (redirects to Gupy, not a host) - Fix provider health check always showing UNKNOWN - Run check_all_health() on startup - Fix POST /providers/health/check background task bug - Add HTMX refresh after manual health check trigger - Fix anime search relevance scoring with MIN_RELEVANCE_THRESHOLD=0.5 - Replace bare 'except:' with 'except Exception:' across codebase - Add Playwright E2E test suite (12 tests, auth setup, helpers) - Fix toast container blocking clicks via pointer-events: none - Remove obsolete Jest/Vite test files and config - Clean up obsolete test_watchlist scripts - Update sonarr model comment for active providers
This commit is contained in:
@@ -68,7 +68,7 @@ class DoodStreamDownloader(BaseVideoPlayer):
|
||||
fname = self._extract_filename_from_headers(head_resp.headers)
|
||||
if fname:
|
||||
filename = fname
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
return download_url, filename
|
||||
|
||||
@@ -102,7 +102,7 @@ class LpayerDownloader(BaseVideoPlayer):
|
||||
try:
|
||||
await page.mouse.click(640, 360)
|
||||
await asyncio.sleep(3)
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# Try JavaScript extraction to find video URLs in DOM
|
||||
@@ -235,7 +235,7 @@ class LpayerDownloader(BaseVideoPlayer):
|
||||
if browser:
|
||||
try:
|
||||
await browser.close()
|
||||
except:
|
||||
except Exception:
|
||||
pass
|
||||
"""Extract video URL using Playwright to render JavaScript"""
|
||||
try:
|
||||
|
||||
@@ -124,7 +124,7 @@ class OneuploadDownloader(BaseVideoPlayer):
|
||||
await element.click()
|
||||
await asyncio.sleep(2)
|
||||
break
|
||||
except:
|
||||
except Exception:
|
||||
continue
|
||||
except Exception as e:
|
||||
print(f"[ONEUPLOAD] Play button interaction: {e}")
|
||||
|
||||
@@ -62,7 +62,7 @@ class RapidFileDownloader(BaseVideoPlayer):
|
||||
filename = fname
|
||||
else:
|
||||
filename = download_url.split('/')[-1] or "rapidfile_download"
|
||||
except:
|
||||
except Exception:
|
||||
filename = download_url.split('/')[-1] or "rapidfile_download"
|
||||
|
||||
return download_url, filename
|
||||
|
||||
@@ -118,7 +118,7 @@ class SmoothpreDownloader(BaseVideoPlayer):
|
||||
await element.click()
|
||||
await asyncio.sleep(2)
|
||||
break
|
||||
except:
|
||||
except Exception:
|
||||
continue
|
||||
except Exception as e:
|
||||
print(f"[SMOOTHPRE] Play button interaction: {e}")
|
||||
|
||||
@@ -42,7 +42,7 @@ class UnFichierDownloader(BaseVideoPlayer):
|
||||
if not filename:
|
||||
filename = href.split('/')[-1] or "downloaded_file"
|
||||
return href, filename
|
||||
except:
|
||||
except Exception:
|
||||
continue
|
||||
|
||||
raise Exception("Could not find download link on page")
|
||||
|
||||
@@ -177,7 +177,7 @@ class VidMolyDownloader(BaseVideoPlayer):
|
||||
await element.click()
|
||||
await asyncio.sleep(3)
|
||||
break
|
||||
except:
|
||||
except Exception:
|
||||
continue
|
||||
except Exception as e:
|
||||
print(f"[VIDMOLY] Play button interaction: {e}")
|
||||
|
||||
Reference in New Issue
Block a user