From 441782987c9c4e76eaefcb761adecfc09d27d37d Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Fri, 19 May 2023 13:34:30 -0400 Subject: [PATCH] Check for active plugin --- app/plugins/functions.py | 4 ++-- coreplugins/tasknotification/signals.py | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/plugins/functions.py b/app/plugins/functions.py index 1092f15f..9e3b5f11 100644 --- a/app/plugins/functions.py +++ b/app/plugins/functions.py @@ -273,7 +273,7 @@ def get_plugin_by_name(name, only_active=True, refresh_cache_if_none=False): else: return res -def get_current_plugin(): +def get_current_plugin(only_active=False): """ When called from a python module inside a plugin's directory, it returns the plugin that this python module belongs to @@ -289,7 +289,7 @@ def get_current_plugin(): parts = relp.split(os.sep) if len(parts) > 0: plugin_name = parts[0] - return get_plugin_by_name(plugin_name, only_active=False) + return get_plugin_by_name(plugin_name, only_active=only_active) return None diff --git a/coreplugins/tasknotification/signals.py b/coreplugins/tasknotification/signals.py index 7a8f05ee..ad49e4c1 100644 --- a/coreplugins/tasknotification/signals.py +++ b/coreplugins/tasknotification/signals.py @@ -2,6 +2,7 @@ import logging from django.dispatch import receiver from django.core.mail import send_mail from app.plugins.signals import task_completed, task_failed, task_removed +from app.plugins.functions import get_current_plugin from . import email as notification from . import config from app.models import Task, Setting @@ -10,6 +11,9 @@ logger = logging.getLogger('app.logger') @receiver(task_completed) def handle_task_completed(sender, task_id, **kwargs): + if get_current_plugin(only_active=True) is None: + return + logger.info("TaskNotification: Task Completed") config_data = config.load() @@ -27,6 +31,9 @@ def handle_task_completed(sender, task_id, **kwargs): @receiver(task_removed) def handle_task_removed(sender, task_id, **kwargs): + if get_current_plugin(only_active=True) is None: + return + logger.info("TaskNotification: Task Removed") config_data = config.load() @@ -43,6 +50,9 @@ def handle_task_removed(sender, task_id, **kwargs): @receiver(task_failed) def handle_task_failed(sender, task_id, **kwargs): + if get_current_plugin(only_active=True) is None: + return + logger.info("TaskNotification: Task Failed") config_data = config.load()