From 274f773988f3fbb1320731bd1b09ac6b8eb0f40b Mon Sep 17 00:00:00 2001 From: Lukas Date: Thu, 4 Jun 2026 19:02:08 +0200 Subject: [PATCH] Remove dead NFO CLI code NFO service removed. CLI code no longer functional - strip deprecated commands. --- src/cli/nfo_cli.py | 100 +-------------------------------------------- 1 file changed, 2 insertions(+), 98 deletions(-) diff --git a/src/cli/nfo_cli.py b/src/cli/nfo_cli.py index 9e82b00..ab15783 100644 --- a/src/cli/nfo_cli.py +++ b/src/cli/nfo_cli.py @@ -3,21 +3,13 @@ Note: NFO service has been removed. This CLI is no longer functional. """ +import logging import sys from pathlib import Path # Add src to path sys.path.insert(0, str(Path(__file__).parent.parent.parent)) -def main(): - """Main entry point.""" - print("NFO CLI is no longer available - NFO service has been removed.") - print("Use the web API endpoints for NFO management.") - return 1 - -if __name__ == "__main__": - sys.exit(main()) - logger = logging.getLogger(__name__) @@ -182,91 +174,6 @@ async def check_nfo_status(): return 0 -async def update_nfo_files(): - """Update existing NFO files with fresh data from TMDB.""" - logger.info("%s", "=" * 70) - logger.info("NFO Update Tool") - logger.info("%s", "=" * 70) - - if not settings.tmdb_api_key: - logger.error("TMDB_API_KEY not configured") - logger.error("Set TMDB_API_KEY in .env file or environment") - logger.error("Get API key from: https://www.themoviedb.org/settings/api") - return 1 - - if not settings.anime_directory: - logger.error("ANIME_DIRECTORY not configured") - return 1 - - logger.info("Anime Directory: %s", settings.anime_directory) - logger.info( - "Download media: %s", - settings.nfo_download_poster or settings.nfo_download_logo or settings.nfo_download_fanart, - ) - - # Get series with NFO - from src.core.entities.SerieList import SerieList - serie_list = SerieList(settings.anime_directory) - all_series = serie_list.get_all() - series_with_nfo = [s for s in all_series if s.has_nfo()] - - if not series_with_nfo: - logger.warning("No series with NFO files found") - logger.info("Run 'scan' command first to create NFO files") - return 0 - - logger.info("Found %d series with NFO files", len(series_with_nfo)) - logger.info("Updating NFO files with fresh data from TMDB...") - logger.info("This may take a while") - - # Initialize NFO service using factory - from src.core.services.nfo_factory import create_nfo_service - try: - nfo_service = create_nfo_service() - except ValueError as e: - logger.error("Error creating NFO service: %s", e) - return 1 - - success_count = 0 - error_count = 0 - - try: - for i, serie in enumerate(series_with_nfo, 1): - logger.info("[%d/%d] Updating: %s", i, len(series_with_nfo), serie.name) - - try: - await nfo_service.update_tvshow_nfo( - serie_folder=serie.folder, - download_media=( - settings.nfo_download_poster or - settings.nfo_download_logo or - settings.nfo_download_fanart - ), - ) - logger.info("Updated successfully: %s", serie.name) - success_count += 1 - - # Small delay to respect API rate limits - await asyncio.sleep(0.5) - - except Exception as e: - logger.exception("Failed to update NFO for %s", serie.name) - error_count += 1 - - logger.info("%s", "=" * 70) - logger.info("Update complete") - logger.info("Success: %d", success_count) - logger.info("Errors: %d", error_count) - - except Exception: - logger.exception("Fatal error during NFO update") - return 1 - finally: - await nfo_service.close() - - return 0 - - def main(): """Main CLI entry point.""" logging.basicConfig(level=logging.INFO, format="%(message)s") @@ -276,7 +183,6 @@ def main(): logger.info("\nUsage:") logger.info(" python -m src.cli.nfo_cli scan # Scan and create missing NFO files") logger.info(" python -m src.cli.nfo_cli status # Check NFO status for all series") - logger.info(" python -m src.cli.nfo_cli update # Update existing NFO files with fresh data") logger.info("\nConfiguration:") logger.info(" Set TMDB_API_KEY in .env file") logger.info(" Set NFO_AUTO_CREATE=true to enable auto-creation") @@ -289,11 +195,9 @@ def main(): return asyncio.run(scan_and_create_nfo()) elif command == "status": return asyncio.run(check_nfo_status()) - elif command == "update": - return asyncio.run(update_nfo_files()) else: logger.error("Unknown command: %s", command) - logger.info("Use 'scan', 'status', or 'update'") + logger.info("Use 'scan' or 'status'") return 1