feat: improve NFO file organization by moving NFOGuard elements to bottom
NFO Organization Enhancement: - Move all NFOGuard elements (dateadded, lockdata, comments) to bottom of NFO files - Remove existing NFOGuard elements and re-add at bottom for clean organization - Provides better separation between media metadata and NFOGuard management - Easier to read NFO files when Radarr/Sonarr has already populated extensive metadata Before: NFOGuard elements mixed throughout existing metadata After: All media metadata first, then NFOGuard elements grouped at bottom This addresses user feedback about NFO readability when files already contain extensive metadata from Radarr, making it easier to see both media info and NFOGuard management details in a logical order.
This commit is contained in:
+16
-4
@@ -182,18 +182,30 @@ class NFOManager:
|
||||
self._ensure_child_text(root, "premiered", release_date, overwrite=False)
|
||||
self._ensure_child_text(root, "year", release_date.split("-")[0], overwrite=False)
|
||||
|
||||
# Add NFOGuard elements at the bottom for better organization
|
||||
self._strip_existing_footer_comments(root)
|
||||
|
||||
# Remove existing NFOGuard elements to re-add them at bottom
|
||||
for elem in root.findall(".//dateadded"):
|
||||
root.remove(elem)
|
||||
for elem in root.findall(".//lockdata"):
|
||||
root.remove(elem)
|
||||
|
||||
# Add NFOGuard elements at bottom
|
||||
if dateadded:
|
||||
if dateadded == "MANUAL_REVIEW_NEEDED":
|
||||
self._ensure_child_text(root, "dateadded", "MANUAL_REVIEW_NEEDED", overwrite=True)
|
||||
dateadded_elem = ET.SubElement(root, "dateadded")
|
||||
dateadded_elem.text = "MANUAL_REVIEW_NEEDED"
|
||||
_log("WARNING", f"Set MANUAL_REVIEW_NEEDED marker in NFO: {movie_dir}/movie.nfo")
|
||||
else:
|
||||
self._ensure_child_text(root, "dateadded", dateadded, overwrite=True)
|
||||
dateadded_elem = ET.SubElement(root, "dateadded")
|
||||
dateadded_elem.text = dateadded
|
||||
|
||||
if lock_metadata:
|
||||
self._ensure_child_text(root, "lockdata", "true", overwrite=True)
|
||||
lockdata_elem = ET.SubElement(root, "lockdata")
|
||||
lockdata_elem.text = "true"
|
||||
|
||||
# Add footer comments with timestamp
|
||||
self._strip_existing_footer_comments(root)
|
||||
local_tz = _get_local_timezone()
|
||||
current_time = datetime.now(local_tz).isoformat(timespec="seconds")
|
||||
root.append(ET.Comment(f" source: Movie; {source_detail} "))
|
||||
|
||||
Reference in New Issue
Block a user