Commit e6b53c99 authored by Jan Reimes's avatar Jan Reimes
Browse files

fix: resolve ty check errors — stale cache_dir, date/datetime mismatch, deprecated utcnow

- Remove stale cache_dir parameter from TDocQueryConfig calls in crawl.py
  and query.py (field was removed in prior refactoring)
- Align _filter_by_meeting_dates() parameter types from datetime to date,
  matching TDocQueryConfig.meeting_start_date/meeting_end_date types
- Replace deprecated datetime.utcnow with timezone-aware _utcnow() helper
  using datetime.now(UTC) in oxyde_models.py (6 occurrences)
parent 17f45448
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -218,7 +218,6 @@ def crawl_tdocs(
            if checkout:
                checkout_limit = limit_tdocs if limit_tdocs and limit_tdocs > 0 else None
                query_config = TDocQueryConfig(
                    cache_dir=manager.root,
                    working_groups=working_groups,
                    limit=checkout_limit,
                    order=SortOrder.DESC,
+0 −1
Original line number Diff line number Diff line
@@ -116,7 +116,6 @@ def query_tdocs(
        raise typer.Exit(code=2) from exc

    config = TDocQueryConfig(
        cache_dir=manager.root,
        output_format=format_val,
        tdoc_ids=tdoc_ids,
        working_groups=working_groups,
+11 −7
Original line number Diff line number Diff line
@@ -7,13 +7,17 @@ These models replace the previous pydantic-sqlite based persistence layer.
from __future__ import annotations

import json
from datetime import date, datetime
from datetime import UTC, date, datetime
from typing import Any

from oxyde import Field, Model
from pydantic import field_validator


def _utcnow() -> datetime:
    return datetime.now(UTC)


class WorkingGroupRecord(Model):
    """Reference data for working groups."""

@@ -54,7 +58,7 @@ class CrawlLogEntry(Model):
    items_updated: int = Field(default=0, ge=0)
    errors_count: int = Field(default=0, ge=0)
    status: str = Field(default="RUNNING")
    created_at: datetime = Field(default_factory=datetime.utcnow)
    created_at: datetime = Field(default_factory=_utcnow)

    class Meta:
        """Oxyde table configuration."""
@@ -76,9 +80,9 @@ class MeetingMetadata(Model):
    files_url: str | None = None
    portal_url: str | None = None
    tdoc_count: int = Field(default=0, ge=0)
    last_synced: datetime = Field(default_factory=datetime.utcnow)
    created_at: datetime = Field(default_factory=datetime.utcnow)
    updated_at: datetime = Field(default_factory=datetime.utcnow)
    last_synced: datetime = Field(default_factory=_utcnow)
    created_at: datetime = Field(default_factory=_utcnow)
    updated_at: datetime = Field(default_factory=_utcnow)

    class Meta:
        """Oxyde table configuration."""
@@ -103,8 +107,8 @@ class TDocMetadata(Model):
    is_revision_of: str | None = None
    file_size: int | None = None
    date_created: datetime | None = None
    date_retrieved: datetime = Field(default_factory=datetime.utcnow)
    date_updated: datetime = Field(default_factory=datetime.utcnow)
    date_retrieved: datetime = Field(default_factory=_utcnow)
    date_updated: datetime = Field(default_factory=_utcnow)
    validated: bool = Field(default=False)
    validation_failed: bool = Field(default=False)

+3 −3
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

import fnmatch
from collections.abc import Callable, Iterable
from datetime import UTC, datetime
from datetime import UTC, date, datetime
from typing import Any

from tdoc_crawler.database.meetings import MeetingDatabase
@@ -243,8 +243,8 @@ class TDocDatabase(MeetingDatabase):
    def _filter_by_meeting_dates(
        records: list[TDocMetadata],
        meeting_map: dict[int, Any],
        meeting_start_date: datetime | None,
        meeting_end_date: datetime | None,
        meeting_start_date: date | None,
        meeting_end_date: date | None,
    ) -> list[TDocMetadata]:
        """Filter records by start/end date of the related meeting."""
        filtered = records