From 0e120c01b095e0adabffb8c82da111a013b2888e Mon Sep 17 00:00:00 2001 From: Ahtisham Shahid Date: Mon, 22 Jul 2024 13:09:35 +0500 Subject: [PATCH 1/3] feat: added email sent signal to edx ace --- edx_ace/__init__.py | 2 +- edx_ace/ace.py | 1 + edx_ace/delivery.py | 3 +++ edx_ace/signals.py | 7 +++++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 edx_ace/signals.py diff --git a/edx_ace/__init__.py b/edx_ace/__init__.py index 5853c70f..db00a712 100644 --- a/edx_ace/__init__.py +++ b/edx_ace/__init__.py @@ -13,7 +13,7 @@ from .recipient import Recipient from .recipient_resolver import RecipientResolver -__version__ = '1.10.1' +__version__ = '1.11.0' __all__ = [ diff --git a/edx_ace/ace.py b/edx_ace/ace.py index 68ff96ac..64edeed3 100644 --- a/edx_ace/ace.py +++ b/edx_ace/ace.py @@ -70,6 +70,7 @@ def send(msg, limit_to_channels=None): try: delivery.deliver(channel, rendered_message, msg) + except ChannelError as error: msg.report( f'{channel_type}_error', diff --git a/edx_ace/delivery.py b/edx_ace/delivery.py index f35461d3..6722de30 100644 --- a/edx_ace/delivery.py +++ b/edx_ace/delivery.py @@ -10,6 +10,7 @@ from django.conf import settings from edx_ace.errors import RecoverableChannelDeliveryError +from edx_ace.signals import ACE_EMAIL_SENT from edx_ace.utils.date import get_current_time LOG = logging.getLogger(__name__) @@ -60,8 +61,10 @@ def deliver(channel, rendered_message, message): message.report(f'{channel_type}_delivery_retried', num_seconds) else: message.report(f'{channel_type}_delivery_succeeded', True) + ACE_EMAIL_SENT.send(sender=channel, message=message) return delivery_expired_report = f'{channel_type}_delivery_expired' logger.debug(delivery_expired_report) message.report(delivery_expired_report, get_current_time() - start_time) + ACE_EMAIL_SENT.send(sender=channel, message=message) diff --git a/edx_ace/signals.py b/edx_ace/signals.py new file mode 100644 index 00000000..b4336f77 --- /dev/null +++ b/edx_ace/signals.py @@ -0,0 +1,7 @@ +""" +Signals for the edx_ace app +""" +from django.dispatch import Signal + +# signal to indicate that an email has been sent using ace +ACE_EMAIL_SENT = Signal() From 26d8b5e0a5a9f1735e709258b73e314cd83dde61 Mon Sep 17 00:00:00 2001 From: Ahtisham Shahid Date: Fri, 2 Aug 2024 11:32:06 +0500 Subject: [PATCH 2/3] chore: updated version and fixed minor issues --- edx_ace/ace.py | 1 - edx_ace/signals.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/edx_ace/ace.py b/edx_ace/ace.py index 64edeed3..68ff96ac 100644 --- a/edx_ace/ace.py +++ b/edx_ace/ace.py @@ -70,7 +70,6 @@ def send(msg, limit_to_channels=None): try: delivery.deliver(channel, rendered_message, msg) - except ChannelError as error: msg.report( f'{channel_type}_error', diff --git a/edx_ace/signals.py b/edx_ace/signals.py index b4336f77..647160f0 100644 --- a/edx_ace/signals.py +++ b/edx_ace/signals.py @@ -3,5 +3,5 @@ """ from django.dispatch import Signal -# signal to indicate that an email has been sent using ace +# signal to indicate that a message has been sent using ace ACE_EMAIL_SENT = Signal() From eb9c5311e9ebdcc02f488838523376acd5ccb02c Mon Sep 17 00:00:00 2001 From: Ahtisham Shahid Date: Mon, 5 Aug 2024 12:33:53 +0500 Subject: [PATCH 3/3] fix: renamed signal --- edx_ace/delivery.py | 6 +++--- edx_ace/signals.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/edx_ace/delivery.py b/edx_ace/delivery.py index 6722de30..a8f4b7ab 100644 --- a/edx_ace/delivery.py +++ b/edx_ace/delivery.py @@ -10,7 +10,7 @@ from django.conf import settings from edx_ace.errors import RecoverableChannelDeliveryError -from edx_ace.signals import ACE_EMAIL_SENT +from edx_ace.signals import ACE_MESSAGE_SENT from edx_ace.utils.date import get_current_time LOG = logging.getLogger(__name__) @@ -61,10 +61,10 @@ def deliver(channel, rendered_message, message): message.report(f'{channel_type}_delivery_retried', num_seconds) else: message.report(f'{channel_type}_delivery_succeeded', True) - ACE_EMAIL_SENT.send(sender=channel, message=message) + ACE_MESSAGE_SENT.send(sender=channel, message=message) return delivery_expired_report = f'{channel_type}_delivery_expired' logger.debug(delivery_expired_report) message.report(delivery_expired_report, get_current_time() - start_time) - ACE_EMAIL_SENT.send(sender=channel, message=message) + ACE_MESSAGE_SENT.send(sender=channel, message=message) diff --git a/edx_ace/signals.py b/edx_ace/signals.py index 647160f0..ea8943db 100644 --- a/edx_ace/signals.py +++ b/edx_ace/signals.py @@ -4,4 +4,4 @@ from django.dispatch import Signal # signal to indicate that a message has been sent using ace -ACE_EMAIL_SENT = Signal() +ACE_MESSAGE_SENT = Signal()