chore(codebase): import fixes, restructuring

This commit is contained in:
2025-12-01 14:24:24 +01:00
parent 6523ad655c
commit 05289ef244
58 changed files with 2692 additions and 6574 deletions

View File

@@ -10,7 +10,7 @@ from PySide6.QtCore import QThread, Signal
# from src.logic.webrequest import BibTextTransformer, WebRequest
from src.backend.catalogue import Catalogue
from src.logic import BookData
from src.core.models import BookData
from src.logic.SRU import SWB
from src.shared.logging import log
@@ -28,10 +28,10 @@ RVK_ALLOWED = r"[A-Z0-9.\-\/]" # conservative RVK character set
def find_newer_edition(
swb_result: BookData, dnb_result: List[BookData]
swb_result: BookData,
dnb_result: List[BookData],
) -> Optional[List[BookData]]:
"""
New edition if:
"""New edition if:
- year > swb.year OR
- edition_number > swb.edition_number
BUT: discard any candidate with year < swb.year (if both years are known).
@@ -161,8 +161,8 @@ class NewEditionCheckerThread(QThread):
def __init__(self, entries: Optional[list["BookData"]] = None, parent=None):
super().__init__(parent)
self.entries: list["BookData"] = entries if entries is not None else []
self.results: list[tuple["BookData", list["BookData"]]] = []
self.entries: list[BookData] = entries if entries is not None else []
self.results: list[tuple[BookData, list[BookData]]] = []
def reset(self):
self.entries = []
@@ -196,12 +196,13 @@ class NewEditionCheckerThread(QThread):
@classmethod
def _process_book(
cls, book: "BookData"
cls,
book: "BookData",
) -> tuple["BookData", list["BookData"]] | None:
"""Process one book; returns (original, [found editions]) or None on failure."""
if not book.title:
return None
response: list["BookData"] = []
response: list[BookData] = []
query = [
f"pica.tit={book.title}",
f"pica.vlg={book.publisher}",
@@ -303,7 +304,7 @@ class NewEditionCheckerThread(QThread):
futures = [ex.submit(self._worker, ch, q) for ch in chunks]
log.info(
f"Launched {len(futures)} worker thread(s) for {total} entries: {sizes} entries per thread."
f"Launched {len(futures)} worker thread(s) for {total} entries: {sizes} entries per thread.",
)
for idx, sz in enumerate(sizes, 1):
log.debug(f"Thread {idx}: {sz} entries")