[45] fix batch edits sort bug

pull/1771/head
meisnate12 11 months ago
parent aa5b3f65e3
commit fc9708bbf7

@ -1 +1 @@
1.19.1-develop44
1.19.1-develop45

@ -422,8 +422,10 @@ class Operations:
new_rating = mal_item.rating
else:
raise Failed
if not new_rating:
if new_rating is None:
logger.info("No Content Rating Found")
else:
new_rating = str(new_rating)
is_none = False
current_rating = item.contentRating
@ -748,8 +750,8 @@ class Operations:
logger.separator("Batch Updates", space=False, border=False)
logger.info("")
def get_batch_info(display_attr, total_count, display_value=None, is_episode=False, out_type=None, tag_type=None):
return f"Batch {name_display[display_attr] if display_attr in name_display else display_attr.capitalize()} Update: " \
def get_batch_info(placement, total, display_attr, total_count, display_value=None, is_episode=False, out_type=None, tag_type=None):
return f"Batch {name_display[display_attr] if display_attr in name_display else display_attr.capitalize()} Update ({placement}/{total}): " \
f"{f'{out_type.capitalize()}ing ' if out_type else ''}" \
f"{f'Adding {display_value} to ' if tag_type == 'add' else f'Removing {display_value} from ' if tag_type == 'remove' else ''}" \
f"{total_count} {'Episode' if is_episode else 'Movie' if self.library.is_movie else 'Show'}" \
@ -757,82 +759,102 @@ class Operations:
for tag_attribute, edit_dict in [("Label", label_edits), ("Genre", genre_edits)]:
for edit_type, batch_edits in edit_dict.items():
for tag_name, rating_keys in sorted(batch_edits.items()):
logger.info(get_batch_info(tag_attribute, len(rating_keys), display_value=tag_name, tag_type=edit_type))
_size = len(batch_edits.items())
for i, (tag_name, rating_keys) in enumerate(sorted(batch_edits.items()), 1):
logger.info(get_batch_info(i, _size, tag_attribute, len(rating_keys), display_value=tag_name, tag_type=edit_type))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
getattr(self.library.Plex, f"{edit_type}{tag_attribute}")(tag_name)
self.library.Plex.saveMultiEdits()
for item_attr, _edits in rating_edits.items():
for new_rating, rating_keys in sorted(_edits.items()):
logger.info(get_batch_info(item_attr, len(rating_keys), display_value=new_rating))
_size = len(rating_edits.items())
for i, (new_rating, rating_keys) in enumerate(sorted(_edits.items()), 1):
logger.info(get_batch_info(i, _size, item_attr, len(rating_keys), display_value=new_rating))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex.editField(item_attr, new_rating)
self.library.Plex.saveMultiEdits()
for new_rating, rating_keys in sorted(content_edits.items()):
logger.info(get_batch_info("contentRating", len(rating_keys), display_value=new_rating))
_size = len(content_edits.items())
for i, (new_rating, rating_keys) in enumerate(sorted(content_edits.items()), 1):
logger.info(get_batch_info(i, _size, "contentRating", len(rating_keys), display_value=new_rating))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex.editContentRating(new_rating)
self.library.Plex.saveMultiEdits()
for new_studio, rating_keys in sorted(studio_edits.items()):
logger.info(get_batch_info("studio", len(rating_keys), display_value=new_studio))
_size = len(studio_edits.items())
for i, (new_studio, rating_keys) in enumerate(sorted(studio_edits.items()), 1):
logger.info(get_batch_info(i, _size, "studio", len(rating_keys), display_value=new_studio))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex.editStudio(new_studio)
self.library.Plex.saveMultiEdits()
for new_available, rating_keys in sorted(available_edits.items()):
logger.info(get_batch_info("originallyAvailableAt", len(rating_keys), display_value=new_available))
_size = len(available_edits.items())
for i, (new_available, rating_keys) in enumerate(sorted(available_edits.items()), 1):
logger.info(get_batch_info(i, _size, "originallyAvailableAt", len(rating_keys), display_value=new_available))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex.editOriginallyAvailable(new_available)
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in remove_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), out_type="remov"))
_size = len(remove_edits.items())
for i, (field_attr, rating_keys) in enumerate(remove_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), out_type="remov"))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex.editField(field_attr, None, locked=True)
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in reset_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), out_type="reset"))
_size = len(reset_edits.items())
for i, (field_attr, rating_keys) in enumerate(reset_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), out_type="reset"))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex.editField(field_attr, None, locked=False)
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in lock_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), out_type="lock"))
_size = len(lock_edits.items())
for i, (field_attr, rating_keys) in enumerate(lock_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), out_type="lock"))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex._edit(**{f"{field_attr}.locked": 1})
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in unlock_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), out_type="unlock"))
_size = len(unlock_edits.items())
for i, (field_attr, rating_keys) in enumerate(unlock_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), out_type="unlock"))
self.library.Plex.batchMultiEdits(self.library.load_list_from_cache(rating_keys))
self.library.Plex._edit(**{f"{field_attr}.locked": 0})
self.library.Plex.saveMultiEdits()
for item_attr, _edits in ep_rating_edits.items():
for new_rating, rating_keys in sorted(_edits.items()):
logger.info(f"Batch {name_display[item_attr]} Update: {len(rating_keys)} Episodes updated to {new_rating}")
_size = len(_edits.items())
for i, (new_rating, rating_keys) in enumerate(sorted(_edits.items()), 1):
logger.info(get_batch_info(i, _size, item_attr, len(rating_keys), display_value=new_rating, is_episode=True))
self.library.Plex.batchMultiEdits(rating_keys)
self.library.Plex.editField(item_attr, new_rating)
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in ep_remove_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), is_episode=True, out_type="remov"))
_size = len(ep_remove_edits.items())
for i, (field_attr, rating_keys) in enumerate(ep_remove_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), is_episode=True, out_type="remov"))
self.library.Plex.batchMultiEdits(rating_keys)
self.library.Plex.editField(field_attr, None, locked=True)
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in ep_reset_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), is_episode=True, out_type="reset"))
_size = len(ep_reset_edits.items())
for i, (field_attr, rating_keys) in enumerate(ep_reset_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), is_episode=True, out_type="reset"))
self.library.Plex.batchMultiEdits(rating_keys)
self.library.Plex.editField(field_attr, None, locked=False)
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in ep_lock_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), is_episode=True, out_type="lock"))
_size = len(ep_lock_edits.items())
for i, (field_attr, rating_keys) in enumerate(ep_lock_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), is_episode=True, out_type="lock"))
self.library.Plex.batchMultiEdits(rating_keys)
self.library.Plex._edit(**{f"{field_attr}.locked": 1})
self.library.Plex.saveMultiEdits()
for field_attr, rating_keys in ep_unlock_edits.items():
logger.info(get_batch_info(field_attr, len(rating_keys), is_episode=True, out_type="unlock"))
_size = len(ep_unlock_edits.items())
for i, (field_attr, rating_keys) in enumerate(ep_unlock_edits.items(), 1):
logger.info(get_batch_info(i, _size, field_attr, len(rating_keys), is_episode=True, out_type="unlock"))
self.library.Plex.batchMultiEdits(rating_keys)
self.library.Plex._edit(**{f"{field_attr}.locked": 0})
self.library.Plex.saveMultiEdits()

Loading…
Cancel
Save