mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-10 06:54:21 +00:00
#486 added server_preroll collection detail
This commit is contained in:
parent
e81e07b003
commit
e8341bf3d3
4 changed files with 25 additions and 13 deletions
|
@ -87,7 +87,7 @@ ignored_details = [
|
|||
"smart_filter", "smart_label", "smart_url", "run_again", "schedule", "sync_mode", "template", "test", "delete_not_scheduled",
|
||||
"tmdb_person", "build_collection", "collection_order", "collection_level", "validate_builders", "collection_name"
|
||||
]
|
||||
details = ["collection_changes_webhooks", "collection_mode", "collection_order", "collection_level", "collection_minimum", "label"] + boolean_details + string_details
|
||||
details = ["server_preroll", "collection_changes_webhooks", "collection_mode", "collection_order", "collection_level", "collection_minimum", "label"] + boolean_details + string_details
|
||||
collectionless_details = ["collection_order", "plex_collectionless", "label", "label_sync_mode", "test"] + \
|
||||
poster_details + background_details + summary_details + string_details
|
||||
item_bool_details = ["item_assets", "revert_overlay", "item_lock_background", "item_lock_poster", "item_lock_title", "item_refresh"]
|
||||
|
@ -205,6 +205,7 @@ class CollectionBuilder:
|
|||
self.summaries = {}
|
||||
self.schedule = ""
|
||||
self.minimum = self.library.collection_minimum
|
||||
self.server_preroll = None
|
||||
self.current_time = datetime.now()
|
||||
self.current_year = self.current_time.year
|
||||
self.exists = False
|
||||
|
@ -743,6 +744,8 @@ class CollectionBuilder:
|
|||
raise Failed(f"Collection Error: {method_data} collection_mode invalid\n\tdefault (Library default)\n\thide (Hide Collection)\n\thide_items (Hide Items in this Collection)\n\tshow_items (Show this Collection and its Items)")
|
||||
elif method_name == "collection_minimum":
|
||||
self.minimum = util.parse(method_name, method_data, datatype="int", minimum=1)
|
||||
elif method_name == "server_preroll":
|
||||
self.server_preroll = util.parse(method_name, method_data)
|
||||
elif method_name == "label":
|
||||
if "label" in methods and "label.sync" in methods:
|
||||
raise Failed("Collection Error: Cannot use label and label.sync together")
|
||||
|
|
|
@ -214,21 +214,21 @@ class Config:
|
|||
"cache_expiration": check_for_attribute(self.data, "cache_expiration", parent="settings", var_type="int", default=60),
|
||||
"asset_directory": check_for_attribute(self.data, "asset_directory", parent="settings", var_type="list_path", default=[os.path.join(default_dir, "assets")], default_is_none=True),
|
||||
"asset_folders": check_for_attribute(self.data, "asset_folders", parent="settings", var_type="bool", default=True),
|
||||
"assets_for_all": check_for_attribute(self.data, "assets_for_all", parent="settings", var_type="bool", default=False, save=False, do_print=False),
|
||||
"create_asset_folders": check_for_attribute(self.data, "create_asset_folders", parent="settings", var_type="bool", default=False),
|
||||
"sync_mode": check_for_attribute(self.data, "sync_mode", parent="settings", default="append", test_list=sync_modes),
|
||||
"collection_minimum": check_for_attribute(self.data, "collection_minimum", parent="settings", var_type="int", default=1),
|
||||
"delete_below_minimum": check_for_attribute(self.data, "delete_below_minimum", parent="settings", var_type="bool", default=False),
|
||||
"delete_not_scheduled": check_for_attribute(self.data, "delete_not_scheduled", parent="settings", var_type="bool", default=False),
|
||||
"run_again_delay": check_for_attribute(self.data, "run_again_delay", parent="settings", var_type="int", default=0),
|
||||
"missing_only_released": check_for_attribute(self.data, "missing_only_released", parent="settings", var_type="bool", default=False),
|
||||
"only_filter_missing": check_for_attribute(self.data, "only_filter_missing", parent="settings", var_type="bool", default=False),
|
||||
"show_unmanaged": check_for_attribute(self.data, "show_unmanaged", parent="settings", var_type="bool", default=True),
|
||||
"show_filtered": check_for_attribute(self.data, "show_filtered", parent="settings", var_type="bool", default=False),
|
||||
"show_missing": check_for_attribute(self.data, "show_missing", parent="settings", var_type="bool", default=True),
|
||||
"show_missing_assets": check_for_attribute(self.data, "show_missing_assets", parent="settings", var_type="bool", default=True),
|
||||
"save_missing": check_for_attribute(self.data, "save_missing", parent="settings", var_type="bool", default=True),
|
||||
"missing_only_released": check_for_attribute(self.data, "missing_only_released", parent="settings", var_type="bool", default=False),
|
||||
"only_filter_missing": check_for_attribute(self.data, "only_filter_missing", parent="settings", var_type="bool", default=False),
|
||||
"create_asset_folders": check_for_attribute(self.data, "create_asset_folders", parent="settings", var_type="bool", default=False),
|
||||
"collection_minimum": check_for_attribute(self.data, "collection_minimum", parent="settings", var_type="int", default=1),
|
||||
"delete_below_minimum": check_for_attribute(self.data, "delete_below_minimum", parent="settings", var_type="bool", default=False),
|
||||
"delete_not_scheduled": check_for_attribute(self.data, "delete_not_scheduled", parent="settings", var_type="bool", default=False),
|
||||
"tvdb_language": check_for_attribute(self.data, "tvdb_language", parent="settings", default="default")
|
||||
"tvdb_language": check_for_attribute(self.data, "tvdb_language", parent="settings", default="default"),
|
||||
"assets_for_all": check_for_attribute(self.data, "assets_for_all", parent="settings", var_type="bool", default=False, save=False, do_print=False)
|
||||
}
|
||||
self.webhooks = {
|
||||
"error": check_for_attribute(self.data, "error", parent="webhooks", var_type="list", default_is_none=True),
|
||||
|
|
|
@ -264,6 +264,10 @@ class Plex(Library):
|
|||
self.tmdb_collections = None
|
||||
logger.error("Config Error: tmdb_collections only work with Movie Libraries.")
|
||||
|
||||
def set_server_preroll(self, preroll):
|
||||
self.PlexServer.settings.get('cinemaTrailersPrerollID').set(preroll)
|
||||
self.PlexServer.settings.save()
|
||||
|
||||
def get_all_collections(self):
|
||||
return self.search(libtype="collection")
|
||||
|
||||
|
|
|
@ -640,7 +640,7 @@ def run_collection(config, library, metadata, requested_collections):
|
|||
builder = CollectionBuilder(config, library, metadata, mapping_name, no_missing, collection_attrs)
|
||||
logger.info("")
|
||||
|
||||
util.separator(f"Building {mapping_name} Collection", space=False, border=False)
|
||||
util.separator(f"Running {mapping_name} Collection", space=False, border=False)
|
||||
|
||||
if len(builder.schedule) > 0:
|
||||
util.print_multiline(builder.schedule, info=True)
|
||||
|
@ -651,7 +651,7 @@ def run_collection(config, library, metadata, requested_collections):
|
|||
|
||||
items_added = 0
|
||||
items_removed = 0
|
||||
if not builder.smart_url:
|
||||
if not builder.smart_url and builder.builders:
|
||||
logger.info("")
|
||||
logger.info(f"Sync Mode: {'sync' if builder.sync else 'append'}")
|
||||
|
||||
|
@ -693,7 +693,7 @@ def run_collection(config, library, metadata, requested_collections):
|
|||
stats["sonarr"] += sonarr_add
|
||||
|
||||
run_item_details = True
|
||||
if builder.build_collection:
|
||||
if builder.build_collection and builder.builders:
|
||||
try:
|
||||
builder.load_collection()
|
||||
if builder.created:
|
||||
|
@ -711,9 +711,14 @@ def run_collection(config, library, metadata, requested_collections):
|
|||
library.run_sort.append(builder)
|
||||
# builder.sort_collection()
|
||||
|
||||
if builder.server_preroll is not None:
|
||||
library.set_server_preroll(builder.server_preroll)
|
||||
logger.info("")
|
||||
logger.info(f"Plex Server Movie pre-roll video updated to {builder.server_preroll}")
|
||||
|
||||
builder.send_notifications()
|
||||
|
||||
if builder.item_details and run_item_details:
|
||||
if builder.item_details and run_item_details and builder.builders:
|
||||
try:
|
||||
builder.load_collection_items()
|
||||
except Failed:
|
||||
|
|
Loading…
Reference in a new issue