Remove dead NFO CLI code
NFO service removed. CLI code no longer functional - strip deprecated commands.
This commit is contained in:
@@ -3,21 +3,13 @@
|
|||||||
Note: NFO service has been removed. This CLI is no longer functional.
|
Note: NFO service has been removed. This CLI is no longer functional.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import logging
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# Add src to path
|
# Add src to path
|
||||||
sys.path.insert(0, str(Path(__file__).parent.parent.parent))
|
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__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@@ -182,91 +174,6 @@ async def check_nfo_status():
|
|||||||
return 0
|
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():
|
def main():
|
||||||
"""Main CLI entry point."""
|
"""Main CLI entry point."""
|
||||||
logging.basicConfig(level=logging.INFO, format="%(message)s")
|
logging.basicConfig(level=logging.INFO, format="%(message)s")
|
||||||
@@ -276,7 +183,6 @@ def main():
|
|||||||
logger.info("\nUsage:")
|
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 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 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("\nConfiguration:")
|
||||||
logger.info(" Set TMDB_API_KEY in .env file")
|
logger.info(" Set TMDB_API_KEY in .env file")
|
||||||
logger.info(" Set NFO_AUTO_CREATE=true to enable auto-creation")
|
logger.info(" Set NFO_AUTO_CREATE=true to enable auto-creation")
|
||||||
@@ -289,11 +195,9 @@ def main():
|
|||||||
return asyncio.run(scan_and_create_nfo())
|
return asyncio.run(scan_and_create_nfo())
|
||||||
elif command == "status":
|
elif command == "status":
|
||||||
return asyncio.run(check_nfo_status())
|
return asyncio.run(check_nfo_status())
|
||||||
elif command == "update":
|
|
||||||
return asyncio.run(update_nfo_files())
|
|
||||||
else:
|
else:
|
||||||
logger.error("Unknown command: %s", command)
|
logger.error("Unknown command: %s", command)
|
||||||
logger.info("Use 'scan', 'status', or 'update'")
|
logger.info("Use 'scan' or 'status'")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user