From 720ae4ff76cdd6ff7cd6ecddfbb58dc5c59f34b1 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Thu, 5 Mar 2026 15:00:25 -0500 Subject: [PATCH] feat(scraper): add login stubs for codechef, kattis, usaco --- scrapers/codechef.py | 4 ++++ scrapers/kattis.py | 4 ++++ scrapers/usaco.py | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/scrapers/codechef.py b/scrapers/codechef.py index b7f4ec7..200d5e2 100644 --- a/scrapers/codechef.py +++ b/scrapers/codechef.py @@ -13,6 +13,7 @@ from .timeouts import HTTP_TIMEOUT from .models import ( ContestListResult, ContestSummary, + LoginResult, MetadataResult, ProblemSummary, SubmitResult, @@ -267,6 +268,9 @@ class CodeChefScraper(BaseScraper): verdict="", ) + async def login(self, credentials: dict[str, str]) -> LoginResult: + return self._login_error("CodeChef login not yet implemented") + if __name__ == "__main__": CodeChefScraper().run_cli() diff --git a/scrapers/kattis.py b/scrapers/kattis.py index 566473c..9b11395 100644 --- a/scrapers/kattis.py +++ b/scrapers/kattis.py @@ -14,6 +14,7 @@ from .timeouts import HTTP_TIMEOUT from .models import ( ContestListResult, ContestSummary, + LoginResult, MetadataResult, ProblemSummary, SubmitResult, @@ -284,6 +285,9 @@ class KattisScraper(BaseScraper): verdict="", ) + async def login(self, credentials: dict[str, str]) -> LoginResult: + return self._login_error("Kattis login not yet implemented") + if __name__ == "__main__": KattisScraper().run_cli() diff --git a/scrapers/usaco.py b/scrapers/usaco.py index 099f102..221811c 100644 --- a/scrapers/usaco.py +++ b/scrapers/usaco.py @@ -12,6 +12,7 @@ from .timeouts import HTTP_TIMEOUT from .models import ( ContestListResult, ContestSummary, + LoginResult, MetadataResult, ProblemSummary, SubmitResult, @@ -299,6 +300,9 @@ class USACOScraper(BaseScraper): verdict="", ) + async def login(self, credentials: dict[str, str]) -> LoginResult: + return self._login_error("USACO login not yet implemented") + if __name__ == "__main__": USACOScraper().run_cli()