db: updates
This commit is contained in:
+21
-4
@@ -806,7 +806,8 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
series_path = scan_path.parent
|
||||
tv_processor_obj = dependencies.get("tv_processor")
|
||||
sonarr_client = tv_processor_obj.sonarr if tv_processor_obj and hasattr(tv_processor_obj, 'sonarr') else None
|
||||
if nfo_manager.parse_imdb_from_path_with_nfo_fallback(series_path, sonarr_client):
|
||||
shutdown_event = dependencies.get("shutdown_event")
|
||||
if nfo_manager.parse_imdb_from_path_with_nfo_fallback(series_path, sonarr_client, shutdown_event):
|
||||
print(f"INFO: Processing single season: {scan_path}")
|
||||
try:
|
||||
tv_processor.process_season(series_path, scan_path)
|
||||
@@ -818,7 +819,8 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
series_path = season_path.parent
|
||||
tv_processor_obj = dependencies.get("tv_processor")
|
||||
sonarr_client = tv_processor_obj.sonarr if tv_processor_obj and hasattr(tv_processor_obj, 'sonarr') else None
|
||||
if nfo_manager.parse_imdb_from_path_with_nfo_fallback(series_path, sonarr_client):
|
||||
shutdown_event = dependencies.get("shutdown_event")
|
||||
if nfo_manager.parse_imdb_from_path_with_nfo_fallback(series_path, sonarr_client, shutdown_event):
|
||||
print(f"INFO: Processing single episode: {scan_path}")
|
||||
try:
|
||||
tv_processor.process_episode_file(series_path, season_path, scan_path)
|
||||
@@ -828,7 +830,8 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
# Check if this path itself is a series (has IMDb ID in directory name or NFO files)
|
||||
tv_processor_obj = dependencies.get("tv_processor")
|
||||
sonarr_client = tv_processor_obj.sonarr if tv_processor_obj and hasattr(tv_processor_obj, 'sonarr') else None
|
||||
if nfo_manager.parse_imdb_from_path_with_nfo_fallback(scan_path, sonarr_client):
|
||||
shutdown_event = dependencies.get("shutdown_event")
|
||||
if nfo_manager.parse_imdb_from_path_with_nfo_fallback(scan_path, sonarr_client, shutdown_event):
|
||||
try:
|
||||
# Determine force_scan based on scan mode
|
||||
force_scan = (scan_mode == "full")
|
||||
@@ -848,6 +851,12 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
# Count total series first for progress tracking
|
||||
tv_series_list = []
|
||||
for item in scan_path.iterdir():
|
||||
# Check for shutdown signal during series discovery
|
||||
shutdown_event = dependencies.get("shutdown_event")
|
||||
if shutdown_event and shutdown_event.is_set():
|
||||
print("INFO: ⚠️ SHUTDOWN SIGNAL RECEIVED - Stopping series discovery")
|
||||
return
|
||||
|
||||
if (item.is_dir() and
|
||||
not item.name.lower().startswith('season') and
|
||||
not re.match(r'^season\s+\d+$', item.name, re.IGNORECASE)):
|
||||
@@ -855,12 +864,13 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
# Check for IMDb ID (enhanced with NFO fallback)
|
||||
tv_processor_obj = dependencies.get("tv_processor")
|
||||
sonarr_client = tv_processor_obj.sonarr if tv_processor_obj and hasattr(tv_processor_obj, 'sonarr') else None
|
||||
imdb_id = nfo_manager.parse_imdb_from_path_with_nfo_fallback(item, sonarr_client)
|
||||
imdb_id = nfo_manager.parse_imdb_from_path_with_nfo_fallback(item, sonarr_client, shutdown_event)
|
||||
if imdb_id:
|
||||
tv_series_list.append(item)
|
||||
else:
|
||||
# Log missing IMDb ID for TV series
|
||||
try:
|
||||
db = dependencies.get("db")
|
||||
db.add_missing_imdb(
|
||||
file_path=str(item),
|
||||
media_type="tv",
|
||||
@@ -918,6 +928,12 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
# Count total movies first for progress tracking
|
||||
movie_list = []
|
||||
for item in scan_path.iterdir():
|
||||
# Check for shutdown signal during movie discovery
|
||||
shutdown_event = dependencies.get("shutdown_event")
|
||||
if shutdown_event and shutdown_event.is_set():
|
||||
print("INFO: ⚠️ SHUTDOWN SIGNAL RECEIVED - Stopping movie discovery")
|
||||
return
|
||||
|
||||
if item.is_dir():
|
||||
# Check for IMDb ID
|
||||
imdb_id = nfo_manager.find_movie_imdb_id(item)
|
||||
@@ -926,6 +942,7 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
else:
|
||||
# Log missing IMDb ID for movie
|
||||
try:
|
||||
db = dependencies.get("db")
|
||||
db.add_missing_imdb(
|
||||
file_path=str(item),
|
||||
media_type="movie",
|
||||
|
||||
Reference in New Issue
Block a user