mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-14 00:37:22 +00:00
#398 title.is fix
This commit is contained in:
parent
4034b8ee10
commit
9d0f8c2dab
4 changed files with 33 additions and 31 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
||||||
1.12.2-develop1019
|
1.12.2-develop1020
|
|
@ -1327,11 +1327,12 @@ class CollectionBuilder:
|
||||||
bool_mod = "" if validation else "!"
|
bool_mod = "" if validation else "!"
|
||||||
bool_arg = "true" if validation else "false"
|
bool_arg = "true" if validation else "false"
|
||||||
results, display_add = build_url_arg(1, mod=bool_mod, arg_s=bool_arg, mod_s="is")
|
results, display_add = build_url_arg(1, mod=bool_mod, arg_s=bool_arg, mod_s="is")
|
||||||
elif (attr in ["title", "episode_title", "studio", "decade", "year", "episode_year"] or attr in plex.tags) and modifier in ["", ".not", ".begins", ".ends"]:
|
elif (attr in ["title", "episode_title", "studio", "decade", "year", "episode_year"] or attr in plex.tags) and modifier in ["", ".is", ".isnot", ".not", ".begins", ".ends"]:
|
||||||
results = ""
|
results = ""
|
||||||
display_add = ""
|
display_add = ""
|
||||||
for og_value, result in validation:
|
for og_value, result in validation:
|
||||||
built_arg = build_url_arg(quote(result) if attr in string_filters else result, arg_s=og_value)
|
print(og_value, result)
|
||||||
|
built_arg = build_url_arg(quote(str(result)) if attr in string_filters else result, arg_s=og_value)
|
||||||
display_add += built_arg[1]
|
display_add += built_arg[1]
|
||||||
results += f"{conjunction if len(results) > 0 else ''}{built_arg[0]}"
|
results += f"{conjunction if len(results) > 0 else ''}{built_arg[0]}"
|
||||||
else:
|
else:
|
||||||
|
@ -1504,6 +1505,30 @@ class CollectionBuilder:
|
||||||
logger.info("")
|
logger.info("")
|
||||||
logger.info(f"{total} {self.collection_level.capitalize()}{'s' if total > 1 else ''} Processed")
|
logger.info(f"{total} {self.collection_level.capitalize()}{'s' if total > 1 else ''} Processed")
|
||||||
|
|
||||||
|
def sync_collection(self):
|
||||||
|
count_removed = 0
|
||||||
|
for ratingKey, item in self.plex_map.items():
|
||||||
|
if item is not None:
|
||||||
|
if count_removed == 0:
|
||||||
|
logger.info("")
|
||||||
|
util.separator(f"Removed from {self.name} Collection", space=False, border=False)
|
||||||
|
logger.info("")
|
||||||
|
self.library.reload(item)
|
||||||
|
logger.info(f"{self.name} Collection | - | {self.item_title(item)}")
|
||||||
|
self.library.alter_collection(item, self.name, smart_label_collection=self.smart_label_collection, add=False)
|
||||||
|
if self.details["notifiarr_collection_removing"]:
|
||||||
|
if self.library.is_movie and item.ratingKey in self.library.movie_rating_key_map:
|
||||||
|
remove_id = self.library.movie_rating_key_map[item.ratingKey]
|
||||||
|
elif self.library.is_show and item.ratingKey in self.library.show_rating_key_map:
|
||||||
|
remove_id = self.library.show_rating_key_map[item.ratingKey]
|
||||||
|
else:
|
||||||
|
remove_id = None
|
||||||
|
self.notifiarr_removals.append({"title": item.title, "id": remove_id})
|
||||||
|
count_removed += 1
|
||||||
|
if count_removed > 0:
|
||||||
|
logger.info("")
|
||||||
|
logger.info(f"{count_removed} {self.collection_level.capitalize()}{'s' if count_removed == 1 else ''} Removed")
|
||||||
|
|
||||||
def check_tmdb_filter(self, item_id, is_movie, item=None, check_released=False):
|
def check_tmdb_filter(self, item_id, is_movie, item=None, check_released=False):
|
||||||
if self.tmdb_filters or check_released:
|
if self.tmdb_filters or check_released:
|
||||||
try:
|
try:
|
||||||
|
@ -1717,30 +1742,6 @@ class CollectionBuilder:
|
||||||
else:
|
else:
|
||||||
return item.title
|
return item.title
|
||||||
|
|
||||||
def sync_collection(self):
|
|
||||||
count_removed = 0
|
|
||||||
for ratingKey, item in self.plex_map.items():
|
|
||||||
if item is not None:
|
|
||||||
if count_removed == 0:
|
|
||||||
logger.info("")
|
|
||||||
util.separator(f"Removed from {self.name} Collection", space=False, border=False)
|
|
||||||
logger.info("")
|
|
||||||
self.library.reload(item)
|
|
||||||
logger.info(f"{self.name} Collection | - | {self.item_title(item)}")
|
|
||||||
self.library.alter_collection(item, self.name, smart_label_collection=self.smart_label_collection, add=False)
|
|
||||||
if self.details["notifiarr_collection_removing"]:
|
|
||||||
if self.library.is_movie and item.ratingKey in self.library.movie_rating_key_map:
|
|
||||||
remove_id = self.library.movie_rating_key_map[item.ratingKey]
|
|
||||||
elif self.library.is_show and item.ratingKey in self.library.show_rating_key_map:
|
|
||||||
remove_id = self.library.show_rating_key_map[item.ratingKey]
|
|
||||||
else:
|
|
||||||
remove_id = None
|
|
||||||
self.notifiarr_removals.append({"title": item.title, "id": remove_id})
|
|
||||||
count_removed += 1
|
|
||||||
if count_removed > 0:
|
|
||||||
logger.info("")
|
|
||||||
logger.info(f"{count_removed} {self.collection_level.capitalize()}{'s' if count_removed == 1 else ''} Removed")
|
|
||||||
|
|
||||||
def load_collection_items(self):
|
def load_collection_items(self):
|
||||||
if self.build_collection and self.obj:
|
if self.build_collection and self.obj:
|
||||||
self.items = self.library.get_collection_items(self.obj, self.smart_label_collection)
|
self.items = self.library.get_collection_items(self.obj, self.smart_label_collection)
|
||||||
|
|
|
@ -526,6 +526,8 @@ def run_collection(config, library, metadata, requested_collections):
|
||||||
util.separator(f"Adding to {mapping_name} Collection", space=False, border=False)
|
util.separator(f"Adding to {mapping_name} Collection", space=False, border=False)
|
||||||
logger.info("")
|
logger.info("")
|
||||||
builder.add_to_collection()
|
builder.add_to_collection()
|
||||||
|
if builder.sync:
|
||||||
|
builder.sync_collection()
|
||||||
elif len(builder.rating_keys) < builder.minimum and builder.build_collection:
|
elif len(builder.rating_keys) < builder.minimum and builder.build_collection:
|
||||||
logger.info("")
|
logger.info("")
|
||||||
logger.info(f"Collection Minimum: {builder.minimum} not met for {mapping_name} Collection")
|
logger.info(f"Collection Minimum: {builder.minimum} not met for {mapping_name} Collection")
|
||||||
|
@ -533,14 +535,13 @@ def run_collection(config, library, metadata, requested_collections):
|
||||||
builder.delete_collection()
|
builder.delete_collection()
|
||||||
logger.info("")
|
logger.info("")
|
||||||
logger.info(f"Collection {builder.obj.title} deleted")
|
logger.info(f"Collection {builder.obj.title} deleted")
|
||||||
|
|
||||||
if builder.do_missing and (len(builder.missing_movies) > 0 or len(builder.missing_shows) > 0):
|
if builder.do_missing and (len(builder.missing_movies) > 0 or len(builder.missing_shows) > 0):
|
||||||
if builder.details["show_missing"] is True:
|
if builder.details["show_missing"] is True:
|
||||||
logger.info("")
|
logger.info("")
|
||||||
util.separator(f"Missing from Library", space=False, border=False)
|
util.separator(f"Missing from Library", space=False, border=False)
|
||||||
logger.info("")
|
logger.info("")
|
||||||
builder.run_missing()
|
builder.run_missing()
|
||||||
if builder.sync and len(builder.rating_keys) > 0 and builder.build_collection:
|
|
||||||
builder.sync_collection()
|
|
||||||
|
|
||||||
run_item_details = True
|
run_item_details = True
|
||||||
if builder.build_collection:
|
if builder.build_collection:
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
PlexAPI==4.7.2
|
PlexAPI==4.7.2
|
||||||
tmdbv3api==1.7.6
|
tmdbv3api==1.7.6
|
||||||
arrapi==1.1.6
|
arrapi==1.1.7
|
||||||
lxml==4.6.3
|
lxml==4.6.3
|
||||||
requests==2.26.0
|
requests==2.26.0
|
||||||
ruamel.yaml==0.17.16
|
ruamel.yaml==0.17.16
|
||||||
schedule==1.1.0
|
schedule==1.1.0
|
||||||
retrying==1.3.3
|
retrying==1.3.3
|
||||||
pathvalidate==2.5.0
|
pathvalidate==2.5.0
|
||||||
pillow==8.3.2
|
pillow==8.4.0
|
Loading…
Reference in a new issue