From a7682bcd2482e9bf6e45bd39839d30fd09ef704f Mon Sep 17 00:00:00 2001 From: sHa Date: Mon, 29 Dec 2025 22:18:20 +0000 Subject: [PATCH] Refactor code structure for improved readability and maintainability --- dist/renamer-0.5.4-py3-none-any.whl | Bin 0 -> 47662 bytes pyproject.toml | 2 +- renamer/extractors/tmdb_extractor.py | 7 +++++++ uv.lock | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 dist/renamer-0.5.4-py3-none-any.whl diff --git a/dist/renamer-0.5.4-py3-none-any.whl b/dist/renamer-0.5.4-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..af31201da5ba965946d7d4d730448ae21353b48d GIT binary patch literal 47662 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 Ir~9A&2ZqT)f&c&j literal 0 HcmV?d00001 diff --git a/pyproject.toml b/pyproject.toml index 8fd4d7e..d2ab657 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "renamer" -version = "0.5.3" +version = "0.5.4" description = "Terminal-based media file renamer and metadata viewer" readme = "README.md" requires-python = ">=3.11" diff --git a/renamer/extractors/tmdb_extractor.py b/renamer/extractors/tmdb_extractor.py index efe1d66..6ac77b6 100644 --- a/renamer/extractors/tmdb_extractor.py +++ b/renamer/extractors/tmdb_extractor.py @@ -205,6 +205,13 @@ class TMDBExtractor: if movie_info and movie_info.get('runtime'): return str(movie_info['runtime']) return None + + def extract_movie_db(self) -> Optional[Tuple[str, str]]: + """Extract TMDB database info as (name, id) tuple""" + movie_id = self.extract_tmdb_id() + if movie_id: + return ("tmdb", movie_id) + return None def extract_popularity(self) -> Optional[str]: """Extract TMDB popularity""" diff --git a/uv.lock b/uv.lock index b7c523d..b6e0bef 100644 --- a/uv.lock +++ b/uv.lock @@ -342,7 +342,7 @@ wheels = [ [[package]] name = "renamer" -version = "0.5.3" +version = "0.5.4" source = { editable = "." } dependencies = [ { name = "langcodes" },