feat(news): tune package research and add exclusive historical rechecks
Development CI / check-and-build (push) Successful in 3m17s
GitHub Git mirror / mirror (push) Successful in 6s
Development CI / deploy-development (push) Successful in 4s

This commit is contained in:
eezd committed 2026-11-02 19:14:12 +08:00
1 parent adb73f956b
commit 531ef724f3
17 files changed
+336 -70

No files matched your search

@@ -32,6 +32,9 @@ class Correction(BaseModel):
class PackageTimePoint(BaseModel):
occurred_at: datetime | None = Field(description="发生时间;未知必须为null且time_precision=unknown,已知必须带时区,不用报道时间代替")
time_precision: Literal['minute', 'day', 'month', 'unknown'] = Field(description='occurred_at为null时必须unknown;非null时按原文精度选择minute/day/month')
planned_at: datetime | None = Field(default=None, description='计划发生时间,不证明已发生')
planned_precision: Literal['minute', 'day', 'month', 'unknown'] = 'unknown'
period_text: str = Field(default='', description='数据统计期间原文')
time_text: str
reported_at: datetime | None
description: str = Field(min_length=1)
@@ -40,6 +43,10 @@ class PackageTimePoint(BaseModel):
@model_validator(mode='after')
def time_consistency(self):
if (self.planned_at is None) != (self.planned_precision == 'unknown'):
raise ValueError('计划时间与精度不一致')
if self.planned_at and self.planned_at.tzinfo is None:
raise ValueError('计划时间必须有时区')
if (self.occurred_at is None) != (self.time_precision == 'unknown'):
raise ValueError('发生时间与精度不一致')
if self.occurred_at and self.occurred_at.tzinfo is None: