diff --git a/config/config.yml.template b/config/config.yml.template index 457eca31..ca361ea4 100644 --- a/config/config.yml.template +++ b/config/config.yml.template @@ -18,7 +18,6 @@ settings: # Can be individually specified cache_expiration: 60 asset_directory: config/assets asset_folders: true - assets_for_all: false sync_mode: append show_unmanaged: true show_filtered: false @@ -30,13 +29,14 @@ settings: # Can be individually specified missing_only_released: false collection_minimum: 1 delete_below_minimum: true - error_webhooks: - run_start_webhooks: - run_end_webhooks: - collection_creation_webhooks: - collection_addition_webhooks: - collection_removing_webhooks: tvdb_language: eng +webhooks: # Can be individually specified per library as well + error: + run_start: + run_end: + collection_creation: + collection_addition: + collection_removing: plex: # Can be individually specified per library as well url: http://192.168.1.12:32400 token: #################### diff --git a/modules/config.py b/modules/config.py index 368e3b0b..242e1216 100644 --- a/modules/config.py +++ b/modules/config.py @@ -192,14 +192,16 @@ class Config: "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), - "error_webhooks": check_for_attribute(self.data, "error_webhooks", parent="settings", var_type="list", default_is_none=True), - "run_start_webhooks": check_for_attribute(self.data, "run_start_webhooks", parent="settings", var_type="list", default_is_none=True), - "run_end_webhooks": check_for_attribute(self.data, "run_end_webhooks", parent="settings", var_type="list", default_is_none=True), - "collection_creation_webhooks": check_for_attribute(self.data, "collection_creation_webhooks", parent="settings", var_type="list", default_is_none=True), - "collection_addition_webhooks": check_for_attribute(self.data, "collection_addition_webhooks", parent="settings", var_type="list", default_is_none=True), - "collection_removing_webhooks": check_for_attribute(self.data, "collection_removing_webhooks", parent="settings", var_type="list", default_is_none=True), "tvdb_language": check_for_attribute(self.data, "tvdb_language", parent="settings", default="default") } + self.webhooks = { + "error": check_for_attribute(self.data, "error", parent="webhooks", var_type="list", default_is_none=True), + "run_start": check_for_attribute(self.data, "run_start", parent="webhooks", var_type="list", default_is_none=True), + "run_end": check_for_attribute(self.data, "run_end", parent="webhooks", var_type="list", default_is_none=True), + "collection_creation": check_for_attribute(self.data, "collection_creation", parent="webhooks", var_type="list", default_is_none=True), + "collection_addition": check_for_attribute(self.data, "collection_addition", parent="webhooks", var_type="list", default_is_none=True), + "collection_removing": check_for_attribute(self.data, "collection_removing", parent="webhooks", var_type="list", default_is_none=True), + } if self.general["cache"]: util.separator() self.Cache = Cache(self.config_path, self.general["cache_expiration"]) @@ -223,7 +225,7 @@ class Config: else: logger.warning("notifiarr attribute not found") - self.Webhooks = Webhooks(self, self.general, notifiarr=self.NotifiarrFactory) + self.Webhooks = Webhooks(self, self.webhooks, notifiarr=self.NotifiarrFactory) self.Webhooks.start_time_hooks(self.run_start_time) self.errors = [] @@ -394,10 +396,10 @@ class Config: params["create_asset_folders"] = check_for_attribute(lib, "create_asset_folders", parent="settings", var_type="bool", default=self.general["create_asset_folders"], do_print=False, save=False) params["collection_minimum"] = check_for_attribute(lib, "collection_minimum", parent="settings", var_type="int", default=self.general["collection_minimum"], do_print=False, save=False) params["delete_below_minimum"] = check_for_attribute(lib, "delete_below_minimum", parent="settings", var_type="bool", default=self.general["delete_below_minimum"], do_print=False, save=False) - params["error_webhooks"] = check_for_attribute(lib, "error_webhooks", parent="settings", var_type="list", default=self.general["error_webhooks"], do_print=False, save=False) - params["collection_creation_webhooks"] = check_for_attribute(lib, "collection_creation_webhooks", parent="settings", var_type="list", default=self.general["collection_creation_webhooks"], do_print=False, save=False) - params["collection_addition_webhooks"] = check_for_attribute(lib, "collection_addition_webhooks", parent="settings", var_type="list", default=self.general["collection_addition_webhooks"], do_print=False, save=False) - params["collection_removing_webhooks"] = check_for_attribute(lib, "collection_removing_webhooks", parent="settings", var_type="list", default=self.general["collection_removing_webhooks"], do_print=False, save=False) + params["error_webhooks"] = check_for_attribute(lib, "error", parent="webhooks", var_type="list", default=self.webhooks["error"], do_print=False, save=False) + params["collection_creation_webhooks"] = check_for_attribute(lib, "collection_creation", parent="webhooks", var_type="list", default=self.webhooks["collection_creation"], do_print=False, save=False) + params["collection_addition_webhooks"] = check_for_attribute(lib, "collection_addition", parent="webhooks", var_type="list", default=self.webhooks["collection_addition"], do_print=False, save=False) + params["collection_removing_webhooks"] = check_for_attribute(lib, "collection_removing", parent="webhooks", var_type="list", default=self.webhooks["collection_removing"], do_print=False, save=False) params["assets_for_all"] = check_for_attribute(lib, "assets_for_all", parent="settings", var_type="bool", default=self.general["assets_for_all"], do_print=False, save=False) params["mass_genre_update"] = check_for_attribute(lib, "mass_genre_update", test_list=mass_update_options, default_is_none=True, save=False, do_print=False) params["mass_audience_rating_update"] = check_for_attribute(lib, "mass_audience_rating_update", test_list=mass_update_options, default_is_none=True, save=False, do_print=False) diff --git a/modules/webhooks.py b/modules/webhooks.py index 44e20c31..98ed735f 100644 --- a/modules/webhooks.py +++ b/modules/webhooks.py @@ -7,9 +7,9 @@ logger = logging.getLogger("Plex Meta Manager") class Webhooks: def __init__(self, config, system_webhooks, library=None, notifiarr=None): self.config = config - self.error_webhooks = system_webhooks["error_webhooks"] if "error_webhooks" in system_webhooks else [] - self.run_start_webhooks = system_webhooks["run_start_webhooks"] if "run_start_webhooks" in system_webhooks else [] - self.run_end_webhooks = system_webhooks["run_end_webhooks"] if "run_end_webhooks" in system_webhooks else [] + self.error_webhooks = system_webhooks["error"] if "error" in system_webhooks else [] + self.run_start_webhooks = system_webhooks["run_start"] if "run_start" in system_webhooks else [] + self.run_end_webhooks = system_webhooks["run_end"] if "run_end" in system_webhooks else [] self.library = library self.notifiarr = notifiarr