From 77ce7b94882093f19c2613e6976923b366dae402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benedek=20D=C3=A9v=C3=A9nyi?= Date: Sun, 22 Sep 2024 22:52:58 +0200 Subject: [PATCH] Remove extensions submodule (#964) --- cozy/extensions/__init__.py | 0 cozy/extensions/is_same_book.py | 2 -- cozy/extensions/set.py | 5 --- cozy/model/database_importer.py | 5 ++- cozy/model/library.py | 6 +++- cozy/view_model/library_view_model.py | 3 +- cozy/view_model/search_view_model.py | 3 +- test/cozy/extensions/__init__.py | 0 test/cozy/extensions/test_is_same_book.py | 33 ------------------- test/cozy/model/test_library.py | 5 ++- .../test_split_strings_to_set.py} | 2 +- 11 files changed, 14 insertions(+), 50 deletions(-) delete mode 100644 cozy/extensions/__init__.py delete mode 100644 cozy/extensions/is_same_book.py delete mode 100644 cozy/extensions/set.py delete mode 100644 test/cozy/extensions/__init__.py delete mode 100644 test/cozy/extensions/test_is_same_book.py rename test/cozy/{extensions/test_set.py => model/test_split_strings_to_set.py} (94%) diff --git a/cozy/extensions/__init__.py b/cozy/extensions/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/cozy/extensions/is_same_book.py b/cozy/extensions/is_same_book.py deleted file mode 100644 index 80829da5..00000000 --- a/cozy/extensions/is_same_book.py +++ /dev/null @@ -1,2 +0,0 @@ -def is_same_book(book_a: str, book_b: str) -> bool: - return book_a.casefold() == book_b.casefold() diff --git a/cozy/extensions/set.py b/cozy/extensions/set.py deleted file mode 100644 index 23711c39..00000000 --- a/cozy/extensions/set.py +++ /dev/null @@ -1,5 +0,0 @@ -import re - - -def split_strings_to_set(set_to_split: set[str]) -> set[str]: - return {entry.strip() for item in set_to_split for entry in re.split(",|;|/|&", item)} diff --git a/cozy/model/database_importer.py b/cozy/model/database_importer.py index fbc9ce77..f15bf403 100644 --- a/cozy/model/database_importer.py +++ b/cozy/model/database_importer.py @@ -7,13 +7,16 @@ from cozy.db.file import File from cozy.db.track import Track from cozy.db.track_to_file import TrackToFile -from cozy.extensions.is_same_book import is_same_book from cozy.media.media_file import MediaFile from cozy.model.book import Book, BookIsEmpty log = logging.getLogger("db_importer") +def is_same_book(book_a: str, book_b: str) -> bool: + return book_a.casefold() == book_b.casefold() + + class TrackInsertRequest: track_data: object file: File diff --git a/cozy/model/library.py b/cozy/model/library.py index 01815d12..0bd3afae 100644 --- a/cozy/model/library.py +++ b/cozy/model/library.py @@ -1,4 +1,5 @@ import logging +import re from typing import Optional import inject @@ -8,7 +9,6 @@ from cozy.architecture.profiler import timing from cozy.db.book import Book as BookModel from cozy.db.file import File -from cozy.extensions.set import split_strings_to_set from cozy.model.book import Book, BookIsEmpty from cozy.model.chapter import Chapter from cozy.model.settings import Settings @@ -16,6 +16,10 @@ log = logging.getLogger("ui") +def split_strings_to_set(set_to_split: set[str]) -> set[str]: + return {entry.strip() for item in set_to_split for entry in re.split(",|;|/|&", item)} + + class Library(EventSender): _db = cache = inject.attr(SqliteDatabase) _settings: Settings = inject.attr(Settings) diff --git a/cozy/view_model/library_view_model.py b/cozy/view_model/library_view_model.py index 5cb06904..dcded2c7 100644 --- a/cozy/view_model/library_view_model.py +++ b/cozy/view_model/library_view_model.py @@ -9,11 +9,10 @@ from cozy.architecture.event_sender import EventSender from cozy.architecture.observable import Observable from cozy.control.filesystem_monitor import FilesystemMonitor -from cozy.extensions.set import split_strings_to_set from cozy.media.importer import Importer, ScanStatus from cozy.media.player import Player from cozy.model.book import Book -from cozy.model.library import Library +from cozy.model.library import Library, split_strings_to_set from cozy.open_view import OpenView from cozy.report import reporter from cozy.ui.import_failed_dialog import ImportFailedDialog diff --git a/cozy/view_model/search_view_model.py b/cozy/view_model/search_view_model.py index f0294e61..40967d1c 100644 --- a/cozy/view_model/search_view_model.py +++ b/cozy/view_model/search_view_model.py @@ -7,9 +7,8 @@ from cozy.architecture.event_sender import EventSender from cozy.architecture.observable import Observable from cozy.control.filesystem_monitor import FilesystemMonitor -from cozy.extensions.set import split_strings_to_set from cozy.model.book import Book -from cozy.model.library import Library +from cozy.model.library import Library, split_strings_to_set from cozy.open_view import OpenView diff --git a/test/cozy/extensions/__init__.py b/test/cozy/extensions/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/test/cozy/extensions/test_is_same_book.py b/test/cozy/extensions/test_is_same_book.py deleted file mode 100644 index 3897df6c..00000000 --- a/test/cozy/extensions/test_is_same_book.py +++ /dev/null @@ -1,33 +0,0 @@ -from cozy.extensions.is_same_book import is_same_book - - -def test_books_with_identical_spelling_are_same(): - book_a = "Dummy Book Title" - book_b = "Dummy Book Title" - result = is_same_book(book_a, book_b) - - assert result is True - - -def test_books_with_inconsistent_spelling_are_same(): - book_a = "Dummy Book Title" - book_b = "Dummy book title" - result = is_same_book(book_a, book_b) - - assert result is True - - -def test_different_books_are_not_same(): - book_a = "First Dummy Book Title" - book_b = "Second Dummy Book Title" - result = is_same_book(book_a, book_b) - - assert result is False - - -def test_books_without_title_are_not_same(): - book_a = "First Dummy Book Title" - book_b = "" - result = is_same_book(book_a, book_b) - - assert result is False diff --git a/test/cozy/model/test_library.py b/test/cozy/model/test_library.py index ac22b247..d090bf0b 100644 --- a/test/cozy/model/test_library.py +++ b/test/cozy/model/test_library.py @@ -5,7 +5,6 @@ from peewee import SqliteDatabase from cozy.application_settings import ApplicationSettings -from cozy.extensions.set import split_strings_to_set from cozy.model.settings import Settings @@ -28,7 +27,7 @@ def test_library_contains_books(): def test_authors_contains_every_author_from_db(): - from cozy.model.library import Library + from cozy.model.library import Library, split_strings_to_set from cozy.db.book import Book library = Library() @@ -42,7 +41,7 @@ def test_authors_contains_every_author_from_db(): def test_readers_contains_every_reader_from_db(): - from cozy.model.library import Library + from cozy.model.library import Library, split_strings_to_set from cozy.db.book import Book library = Library() diff --git a/test/cozy/extensions/test_set.py b/test/cozy/model/test_split_strings_to_set.py similarity index 94% rename from test/cozy/extensions/test_set.py rename to test/cozy/model/test_split_strings_to_set.py index 3acd5e05..371afc59 100644 --- a/test/cozy/extensions/test_set.py +++ b/test/cozy/model/test_split_strings_to_set.py @@ -1,4 +1,4 @@ -from cozy.extensions.set import split_strings_to_set +from cozy.model.library import split_strings_to_set def test_split_strings_does_nothing_for_non_seperated_element():