fix async
This commit is contained in:
parent
540364926d
commit
7ac91a3c4d
8 changed files with 155 additions and 21 deletions
|
|
@ -1,15 +1,45 @@
|
|||
from .atcoder import AtCoderScraper
|
||||
from .base import BaseScraper, ScraperConfig
|
||||
from .codeforces import CodeforcesScraper
|
||||
from .cses import CSESScraper
|
||||
from .models import (
|
||||
ContestListResult,
|
||||
ContestSummary,
|
||||
MetadataResult,
|
||||
ProblemSummary,
|
||||
TestCase,
|
||||
TestsResult,
|
||||
)
|
||||
# Lazy imports to avoid module loading conflicts when running scrapers with -m
|
||||
def __getattr__(name):
|
||||
if name == "AtCoderScraper":
|
||||
from .atcoder import AtCoderScraper
|
||||
|
||||
return AtCoderScraper
|
||||
elif name == "BaseScraper":
|
||||
from .base import BaseScraper
|
||||
|
||||
return BaseScraper
|
||||
elif name == "ScraperConfig":
|
||||
from .base import ScraperConfig
|
||||
|
||||
return ScraperConfig
|
||||
elif name == "CodeforcesScraper":
|
||||
from .codeforces import CodeforcesScraper
|
||||
|
||||
return CodeforcesScraper
|
||||
elif name == "CSESScraper":
|
||||
from .cses import CSESScraper
|
||||
|
||||
return CSESScraper
|
||||
elif name in [
|
||||
"ContestListResult",
|
||||
"ContestSummary",
|
||||
"MetadataResult",
|
||||
"ProblemSummary",
|
||||
"TestCase",
|
||||
"TestsResult",
|
||||
]:
|
||||
from .models import (
|
||||
ContestListResult,
|
||||
ContestSummary,
|
||||
MetadataResult,
|
||||
ProblemSummary,
|
||||
TestCase,
|
||||
TestsResult,
|
||||
)
|
||||
|
||||
return locals()[name]
|
||||
raise AttributeError(f"module 'scrapers' has no attribute '{name}'")
|
||||
|
||||
|
||||
__all__ = [
|
||||
"AtCoderScraper",
|
||||
|
|
|
|||
|
|
@ -272,7 +272,11 @@ def scrape_contests() -> list[ContestSummary]:
|
|||
r"[\uff01-\uff5e]", lambda m: chr(ord(m.group()) - 0xFEE0), name
|
||||
)
|
||||
|
||||
contests.append(ContestSummary(id=contest_id, name=name, display_name=name))
|
||||
# Skip AtCoder Heuristic Contests (AHC) as they don't have standard sample tests
|
||||
if not contest_id.startswith("ahc"):
|
||||
contests.append(
|
||||
ContestSummary(id=contest_id, name=name, display_name=name)
|
||||
)
|
||||
|
||||
return contests
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue