fix: resolve all 28 mypy type errors + re-enable coverage in CI
CI / lint (push) Successful in 11s
CI / security (push) Successful in 7s
CI / test (push) Successful in 13s
CI / build (push) Successful in 1s

This commit is contained in:
2026-05-28 12:57:30 -04:00
parent 7096050da5
commit 1a14927f36
8 changed files with 29 additions and 27 deletions
+5 -5
View File
@@ -1,7 +1,7 @@
import asyncio
import logging
from pathlib import Path
from typing import Dict, List, Optional
from typing import Any, Dict, List, Optional
import threading
logger = logging.getLogger("obsigate.attachment_indexer")
@@ -34,7 +34,7 @@ def clear_resolution_cache(vault_name: Optional[str] = None) -> None:
del _resolution_cache[key]
def _scan_vault_attachments(vault_name: str, vault_path: str, vault_cfg: dict = None) -> Dict[str, List[Path]]:
def _scan_vault_attachments(vault_name: str, vault_path: str, vault_cfg: dict | None = None) -> Dict[str, List[Path]]:
"""Synchronously scan a vault directory for image attachments.
Walks the vault tree and builds a filename -> absolute path mapping
@@ -84,7 +84,7 @@ def _scan_vault_attachments(vault_name: str, vault_path: str, vault_cfg: dict =
return index
async def build_attachment_index(vault_config: Dict[str, Dict[str, any]]) -> None:
async def build_attachment_index(vault_config: Dict[str, Dict[str, Any]]) -> None:
"""Build the attachment index for all configured vaults.
Runs vault scans concurrently in a thread pool, then performs
@@ -103,7 +103,7 @@ async def build_attachment_index(vault_config: Dict[str, Dict[str, any]]) -> Non
loop = asyncio.get_event_loop()
new_index: Dict[str, Dict[str, List[Path]]] = {}
tasks = []
tasks: list[tuple[str, asyncio.Future[Dict[str, List[Path]]]]] = []
for name, config in vault_config.items():
vault_path = config.get("path")
if not vault_path:
@@ -132,7 +132,7 @@ async def build_attachment_index(vault_config: Dict[str, Dict[str, any]]) -> Non
logger.info(f"Attachment index built: {len(attachment_index)} vaults, {total_attachments} total attachments")
async def rescan_vault_attachments(vault_name: str, vault_path: str, vault_cfg: dict = None) -> int:
async def rescan_vault_attachments(vault_name: str, vault_path: str, vault_cfg: dict | None = None) -> int:
"""Rescan attachments for a single vault.
Args: