Merge branch 'dev'
This commit is contained in:
+11
-9
@@ -14,8 +14,9 @@ import re
|
|||||||
class NFOManager:
|
class NFOManager:
|
||||||
"""Manages NFO file creation and updates"""
|
"""Manages NFO file creation and updates"""
|
||||||
|
|
||||||
def __init__(self, manager_brand: str = "NFOGuard"):
|
def __init__(self, manager_brand: str = "NFOGuard", debug: bool = False):
|
||||||
self.manager_brand = manager_brand
|
self.manager_brand = manager_brand
|
||||||
|
self.debug = debug
|
||||||
|
|
||||||
def parse_imdb_from_path(self, path: Path) -> Optional[str]:
|
def parse_imdb_from_path(self, path: Path) -> Optional[str]:
|
||||||
"""Extract IMDb ID from directory path or filename"""
|
"""Extract IMDb ID from directory path or filename"""
|
||||||
@@ -423,8 +424,8 @@ class NFOManager:
|
|||||||
# First, check for existing long-named NFO files that need migration
|
# First, check for existing long-named NFO files that need migration
|
||||||
existing_long_nfo = self.find_existing_episode_nfo(season_dir, season_num, episode_num)
|
existing_long_nfo = self.find_existing_episode_nfo(season_dir, season_num, episode_num)
|
||||||
|
|
||||||
# Try to load existing NFO file (either standard or long-named)
|
# Prioritize long-named file for migration, otherwise use standard file
|
||||||
source_nfo_path = nfo_path if nfo_path.exists() else existing_long_nfo
|
source_nfo_path = existing_long_nfo if existing_long_nfo else nfo_path if nfo_path.exists() else None
|
||||||
|
|
||||||
if source_nfo_path:
|
if source_nfo_path:
|
||||||
try:
|
try:
|
||||||
@@ -467,12 +468,13 @@ class NFOManager:
|
|||||||
# Important: DO NOT remove content fields like title, plot, runtime, premiered, etc.
|
# Important: DO NOT remove content fields like title, plot, runtime, premiered, etc.
|
||||||
# These should be preserved from the long-named NFO files
|
# These should be preserved from the long-named NFO files
|
||||||
|
|
||||||
# Debug: Show what fields are preserved after removing NFOGuard fields
|
# Debug: Show what fields are preserved after removing NFOGuard fields (if DEBUG enabled)
|
||||||
preserved_fields = [elem.tag for elem in episode]
|
if self.debug:
|
||||||
if preserved_fields:
|
preserved_fields = [elem.tag for elem in episode]
|
||||||
print(f" 🔍 Content preserved after cleanup: {', '.join(preserved_fields)}")
|
if preserved_fields:
|
||||||
else:
|
print(f" 🔍 Content preserved after cleanup: {', '.join(preserved_fields)}")
|
||||||
print(f" ⚠️ No content fields found after cleanup!")
|
else:
|
||||||
|
print(f" ⚠️ No content fields found after cleanup!")
|
||||||
|
|
||||||
except (ET.ParseError, ValueError) as e:
|
except (ET.ParseError, ValueError) as e:
|
||||||
print(f"⚠️ Corrupted episode NFO detected: {nfo_path} - {str(e)[:100]}...")
|
print(f"⚠️ Corrupted episode NFO detected: {nfo_path} - {str(e)[:100]}...")
|
||||||
|
|||||||
+1
-1
@@ -1413,7 +1413,7 @@ start_time = datetime.now(timezone.utc)
|
|||||||
|
|
||||||
# Initialize components
|
# Initialize components
|
||||||
db = NFOGuardDatabase(config.db_path)
|
db = NFOGuardDatabase(config.db_path)
|
||||||
nfo_manager = NFOManager(config.manager_brand)
|
nfo_manager = NFOManager(config.manager_brand, config.debug)
|
||||||
path_mapper = PathMapper(config) # FIXED: Pass config to PathMapper
|
path_mapper = PathMapper(config) # FIXED: Pass config to PathMapper
|
||||||
tv_processor = TVProcessor(db, nfo_manager, path_mapper)
|
tv_processor = TVProcessor(db, nfo_manager, path_mapper)
|
||||||
movie_processor = MovieProcessor(db, nfo_manager, path_mapper)
|
movie_processor = MovieProcessor(db, nfo_manager, path_mapper)
|
||||||
|
|||||||
Reference in New Issue
Block a user