From ff75f2c7580802ee95f0f398d19df0dce4734343 Mon Sep 17 00:00:00 2001 From: patrick Date: Sat, 15 Aug 2026 22:01:04 -0400 Subject: [PATCH] chore: clear the lint in the files this branch touches Unused imports, duplicated import lines, and bare excepts that swallowed KeyboardInterrupt along with everything else. --- ..._book_matching_keys_and_duplicate__4358e7d4743a.py | 4 ---- ...26-08-15_canonicalize_author_names_49a9e85a0ffc.py | 4 ---- ...08-15_recompute_book_matching_keys_ed41acf21270.py | 4 ---- backend/src/chitai/database/models/book.py | 3 --- backend/src/chitai/services/metadata_extractor.py | 11 +++++------ backend/src/chitai/services/utils.py | 7 ++----- backend/tests/unit/test_matching.py | 1 - 7 files changed, 7 insertions(+), 27 deletions(-) diff --git a/backend/migrations/versions/2026-08-15_add_book_matching_keys_and_duplicate__4358e7d4743a.py b/backend/migrations/versions/2026-08-15_add_book_matching_keys_and_duplicate__4358e7d4743a.py index 4d87667..e8d5443 100644 --- a/backend/migrations/versions/2026-08-15_add_book_matching_keys_and_duplicate__4358e7d4743a.py +++ b/backend/migrations/versions/2026-08-15_add_book_matching_keys_and_duplicate__4358e7d4743a.py @@ -7,7 +7,6 @@ Create Date: 2026-08-15 15:09:02.708914 """ import warnings -from typing import TYPE_CHECKING import sqlalchemy as sa from alembic import op @@ -18,9 +17,6 @@ from advanced_alchemy.types.password_hash.passlib import PasslibHasher from advanced_alchemy.types.password_hash.pwdlib import PwdlibHasher from sqlalchemy import Text # noqa: F401 -if TYPE_CHECKING: - from collections.abc import Sequence - __all__ = ["downgrade", "upgrade", "schema_upgrades", "schema_downgrades", "data_upgrades", "data_downgrades"] sa.GUID = GUID diff --git a/backend/migrations/versions/2026-08-15_canonicalize_author_names_49a9e85a0ffc.py b/backend/migrations/versions/2026-08-15_canonicalize_author_names_49a9e85a0ffc.py index 9e5a630..bf81633 100644 --- a/backend/migrations/versions/2026-08-15_canonicalize_author_names_49a9e85a0ffc.py +++ b/backend/migrations/versions/2026-08-15_canonicalize_author_names_49a9e85a0ffc.py @@ -7,7 +7,6 @@ Create Date: 2026-08-15 15:59:47.331545 """ import warnings -from typing import TYPE_CHECKING import sqlalchemy as sa from alembic import op @@ -18,9 +17,6 @@ from advanced_alchemy.types.password_hash.passlib import PasslibHasher from advanced_alchemy.types.password_hash.pwdlib import PwdlibHasher from sqlalchemy import Text # noqa: F401 -if TYPE_CHECKING: - from collections.abc import Sequence - __all__ = ["downgrade", "upgrade", "schema_upgrades", "schema_downgrades", "data_upgrades", "data_downgrades"] sa.GUID = GUID diff --git a/backend/migrations/versions/2026-08-15_recompute_book_matching_keys_ed41acf21270.py b/backend/migrations/versions/2026-08-15_recompute_book_matching_keys_ed41acf21270.py index a32f8e8..1b0f6fd 100644 --- a/backend/migrations/versions/2026-08-15_recompute_book_matching_keys_ed41acf21270.py +++ b/backend/migrations/versions/2026-08-15_recompute_book_matching_keys_ed41acf21270.py @@ -7,7 +7,6 @@ Create Date: 2026-08-15 15:44:28.341020 """ import warnings -from typing import TYPE_CHECKING import sqlalchemy as sa from alembic import op @@ -18,9 +17,6 @@ from advanced_alchemy.types.password_hash.passlib import PasslibHasher from advanced_alchemy.types.password_hash.pwdlib import PwdlibHasher from sqlalchemy import Text # noqa: F401 -if TYPE_CHECKING: - from collections.abc import Sequence - __all__ = ["downgrade", "upgrade", "schema_upgrades", "schema_downgrades", "data_upgrades", "data_downgrades"] sa.GUID = GUID diff --git a/backend/src/chitai/database/models/book.py b/backend/src/chitai/database/models/book.py index 80665b6..0d61d93 100644 --- a/backend/src/chitai/database/models/book.py +++ b/backend/src/chitai/database/models/book.py @@ -3,12 +3,9 @@ from typing import TYPE_CHECKING, Any, Optional from sqlalchemy import Index, ForeignKey, UniqueConstraint from sqlalchemy.orm import Mapped, mapped_column, relationship, validates -from sqlalchemy.orm import mapped_column -from sqlalchemy.orm import relationship from sqlalchemy.ext.orderinglist import ordering_list from sqlalchemy.ext.associationproxy import association_proxy from sqlalchemy.ext.associationproxy import AssociationProxy -from sqlalchemy.orm.collections import attribute_keyed_dict from advanced_alchemy.base import BigIntAuditBase, BigIntBase diff --git a/backend/src/chitai/services/metadata_extractor.py b/backend/src/chitai/services/metadata_extractor.py index 9429331..e8dcd7f 100644 --- a/backend/src/chitai/services/metadata_extractor.py +++ b/backend/src/chitai/services/metadata_extractor.py @@ -3,7 +3,6 @@ # TODO: Code is a mess. Clean it up and add docstrings # Standard library -from abc import ABC, abstractmethod import datetime from pathlib import Path from io import BytesIO @@ -405,7 +404,7 @@ class PdfExtractor(FileExtractor): try: return datetime.datetime.strptime(date_portion, "%Y%m%d").date() - except Exception as e: + except Exception: return None @classmethod @@ -557,7 +556,7 @@ class EpubExtractor(FileExtractor): try: return epub.get_metadata("DC", "description")[0][0] - except: + except Exception: return None @classmethod @@ -566,7 +565,7 @@ class EpubExtractor(FileExtractor): date_str = epub.get_metadata("DC", "date")[0][0].split("T")[0] return datetime.date.fromisoformat(date_str) - except: + except Exception: return None @classmethod @@ -574,7 +573,7 @@ class EpubExtractor(FileExtractor): try: epub.get_metadata("DC", "publisher")[0][0] - except: + except Exception: return None @classmethod @@ -598,7 +597,7 @@ class EpubExtractor(FileExtractor): cover_item = epub.get_item_with_id(cover_id) if cover_item: return PIL.Image.open(BytesIO(cover_item.content)) - except Exception as e: + except Exception: pass # Fallback to next strategy # Strategy 2: Search image filenames for "cover" keyword diff --git a/backend/src/chitai/services/utils.py b/backend/src/chitai/services/utils.py index 2702c8f..4d1d0d9 100644 --- a/backend/src/chitai/services/utils.py +++ b/backend/src/chitai/services/utils.py @@ -7,10 +7,7 @@ import errno import hashlib from pathlib import Path import shutil -from typing import TYPE_CHECKING, BinaryIO - -if TYPE_CHECKING: - from hashlib import _Hash +from typing import BinaryIO # Third-party libraries import PIL @@ -487,7 +484,7 @@ def is_valid_isbn(isbn: str) -> bool: return is_valid_isbn13(isbn) else: return False - except: + except Exception: return False diff --git a/backend/tests/unit/test_matching.py b/backend/tests/unit/test_matching.py index 9e52235..fd707ec 100644 --- a/backend/tests/unit/test_matching.py +++ b/backend/tests/unit/test_matching.py @@ -61,7 +61,6 @@ class TestNormalizeTitle: assert normalize_title(title) == title.casefold() - class TestNormalizeAuthor: """One person, written down several ways."""