fix async

This commit is contained in:
Barrett Ruth 2025-09-24 00:41:10 -04:00
parent 540364926d
commit 7ac91a3c4d
8 changed files with 155 additions and 21 deletions

View file

@ -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",