cp.nvim/scrapers/models.py

47 lines
753 B
Python

from dataclasses import dataclass, field
@dataclass
class TestCase:
input: str
expected: str
@dataclass
class ProblemSummary:
id: str
name: str
@dataclass
class ContestSummary:
id: str
name: str
display_name: str
@dataclass
class ScrapingResult:
success: bool
error: str
@dataclass
class MetadataResult(ScrapingResult):
contest_id: str = ""
problems: list[ProblemSummary] = field(default_factory=list)
@dataclass
class ContestListResult(ScrapingResult):
contests: list[ContestSummary] = field(default_factory=list)
@dataclass
class TestsResult(ScrapingResult):
problem_id: str
url: str
tests: list[TestCase]
timeout_ms: int
memory_mb: float
interactive: bool = False