edx-ace 1.11.2__py2.py3-none-any.whl → 1.11.4__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
edx_ace/__init__.py CHANGED
@@ -13,7 +13,7 @@ from .policy import Policy, PolicyResult
13
13
  from .recipient import Recipient
14
14
  from .recipient_resolver import RecipientResolver
15
15
 
16
- __version__ = '1.11.2'
16
+ __version__ = '1.11.4'
17
17
 
18
18
 
19
19
  __all__ = [
@@ -176,7 +176,9 @@ def get_channel_for_message(channel_type, message):
176
176
  channel_names = []
177
177
 
178
178
  if channel_type == ChannelType.EMAIL:
179
- if message.options.get('transactional'):
179
+ if message.options.get('override_default_channel'):
180
+ channel_names = [message.options.get('override_default_channel')]
181
+ elif message.options.get('transactional'):
180
182
  channel_names = [settings.ACE_CHANNEL_TRANSACTIONAL_EMAIL, settings.ACE_CHANNEL_DEFAULT_EMAIL]
181
183
  else:
182
184
  channel_names = [settings.ACE_CHANNEL_DEFAULT_EMAIL]
edx_ace/utils/signals.py CHANGED
@@ -1,6 +1,8 @@
1
1
  """
2
2
  Utils for signals.
3
3
  """
4
+ from django.utils import translation
5
+
4
6
  from edx_ace.signals import ACE_MESSAGE_SENT
5
7
 
6
8
 
@@ -42,5 +44,7 @@ def send_ace_message_sent_signal(channel, message):
42
44
  'options': message.options,
43
45
  'uuid': str(message.uuid),
44
46
  'send_uuid': str(message.send_uuid),
47
+ 'message_language': message.language,
48
+ 'translation_language': translation.get_language()
45
49
  }
46
50
  ACE_MESSAGE_SENT.send(sender=channel, message=make_serializable_object(data))
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-ace
3
- Version: 1.11.2
3
+ Version: 1.11.4
4
4
  Summary: Framework for Messaging
5
5
  Home-page: https://github.com/openedx/edx-ace
6
6
  Author: edX
7
7
  Author-email: oscm@edx.org
8
8
  License: AGPL 3.0
9
9
  Keywords: Django edx
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 3 - Alpha
12
11
  Classifier: Framework :: Django
13
12
  Classifier: Framework :: Django :: 4.2
@@ -18,6 +17,7 @@ Classifier: Programming Language :: Python :: 3
18
17
  Classifier: Programming Language :: Python :: 3.8
19
18
  Classifier: Programming Language :: Python :: 3.12
20
19
  Description-Content-Type: text/x-rst
20
+ License-File: LICENSE.txt
21
21
  Requires-Dist: Django>=2.2
22
22
  Requires-Dist: attrs>=17.2.0
23
23
  Requires-Dist: django-push-notifications
@@ -39,7 +39,7 @@ edX Automated Communication Engine (A.C.E.)
39
39
  |doc-badge| |pyversions-badge|
40
40
 
41
41
  Purpose
42
- =======
42
+ *******
43
43
 
44
44
  The `automated communication engine <https://edx-ace.readthedocs.io/en/latest/>`_, A.C.E. for short, is a Django app
45
45
  for messaging learners on the Open edX platform. This
@@ -49,12 +49,12 @@ are the currently supported delivery channels. In the future we may add support
49
49
  notifications.
50
50
 
51
51
  Getting Started
52
- ===============
52
+ ***************
53
53
 
54
- For instructions on starting local development, see `Getting Started <https://github.com/openedx/edx-ace/blob/master/docs/getting_started.rst>`_.
54
+ For instructions on starting local development, see `Getting Started page <https://github.com/openedx/edx-ace/blob/master/docs/getting_started.rst>`_.
55
55
 
56
56
  Getting Help
57
- ============
57
+ ************
58
58
 
59
59
  Documentation
60
60
  -------------
@@ -79,14 +79,14 @@ can provide.
79
79
 
80
80
  https://github.com/openedx/edx-ace/issues
81
81
 
82
- For more information about these options, see the `Getting Help`_ page.
82
+ For more information about these options, see the `help`_ page.
83
83
 
84
84
  .. _Slack invitation: https://openedx.org/slack
85
85
  .. _community Slack workspace: https://openedx.slack.com/
86
- .. _Getting Help: https://openedx.org/getting-help
86
+ .. _help: https://openedx.org/getting-help
87
87
 
88
88
  License
89
- =======
89
+ *******
90
90
 
91
91
  The code in this repository is licensed under the AGPL 3.0 unless
92
92
  otherwise noted.
@@ -94,7 +94,7 @@ otherwise noted.
94
94
  Please see ``LICENSE.txt`` for details.
95
95
 
96
96
  Contributing
97
- ============
97
+ ************
98
98
 
99
99
  Contributions are very welcome.
100
100
 
@@ -111,14 +111,14 @@ Issue report template should be automatically applied if you are sending it from
111
111
  can find it at `ISSUE_TEMPLATE.md <https://github.com/openedx/edx-ace/blob/master/.github/ISSUE_TEMPLATE.md>`_
112
112
 
113
113
  The Open edX Code of Conduct
114
- ============================
114
+ ****************************
115
115
 
116
116
  All community members are expected to follow the `Open edX Code of Conduct`_.
117
117
 
118
118
  .. _Open edX Code of Conduct: https://openedx.org/code-of-conduct/
119
119
 
120
120
  People
121
- ======
121
+ ******
122
122
 
123
123
  The assigned maintainers for this component and other project details may be
124
124
  found in `Backstage`_. Backstage pulls this data from the ``catalog-info.yaml``
@@ -127,7 +127,7 @@ file in this repo.
127
127
  .. _Backstage: https://open-edx-backstage.herokuapp.com/catalog/default/component/edx-ace
128
128
 
129
129
  Reporting Security Issues
130
- =========================
130
+ *************************
131
131
 
132
132
  Please do not report security issues in public. Please email security@openedx.org.
133
133
 
@@ -168,7 +168,7 @@ Please do not report security issues in public. Please email security@openedx.or
168
168
 
169
169
 
170
170
  Change Log
171
- ----------
171
+ ##########
172
172
 
173
173
  ..
174
174
  All enhancements and patches to edx_ace will be documented
@@ -181,54 +181,55 @@ Change Log
181
181
  .. There should always be an "Unreleased" section for changes pending release.
182
182
 
183
183
  Unreleased
184
- ~~~~~~~~~~
184
+ **********
185
185
 
186
186
  [1.8.0] - 2024-03-06
187
- ~~~~~~~~~~~~~~~~~~~~
187
+ --------------------
188
+
188
189
  * Added support for ``Python 3.12``
189
190
  * Dropped support for ``Django 3.2``
190
191
 
191
192
 
192
193
  [1.7.0] - 2023-07-21
193
- ~~~~~~~~~~~~~~~~~~~~
194
+ --------------------
194
195
 
195
196
  * Switch from ``edx-sphinx-theme`` to ``sphinx-book-theme`` since the former is
196
197
  deprecated
197
198
  * Added support for django 4.2
198
199
 
199
200
  [1.6.1] - 2023-02-07
200
- ~~~~~~~~~~~~~~~~~~~~
201
+ --------------------
201
202
 
202
203
  * Updated code coverage target in https://github.com/openedx/edx-ace/pull/189
203
204
  * Updated Python Requirements in https://github.com/openedx/edx-ace/pull/199
204
205
  * **Full Changelog**: https://github.com/openedx/edx-ace/compare/v1.6.0...v1.6.1
205
206
 
206
207
  [1.5.0] - 2022-02-15
207
- ~~~~~~~~~~~~~~~~~~~~
208
+ --------------------
208
209
 
209
210
  * Added support for Django40
210
211
  * Removed support for Django22, 30 and 31
211
212
 
212
213
  [1.4.1] - 2021-12-06
213
- ~~~~~~~~~~~~~~~~~~~~
214
+ --------------------
214
215
 
215
216
  * Adds in the ability to override frequency caps for Braze emails. Can be accessed via
216
217
  Message options using the key ``override_frequency_capping``. All emails containing the
217
218
  ``transactional`` Message option will also override frequency caps.
218
219
 
219
220
  [1.4.0] - 2021-11-08
220
- ~~~~~~~~~~~~~~~~~~~~
221
+ --------------------
221
222
 
222
223
  * Deprecate the action_links property
223
224
  * Add a get_action_links method and template tag to allow passing arguments to action links
224
225
 
225
226
  [1.3.1] - 2021-08-17
226
- ~~~~~~~~~~~~~~~~~~~~
227
+ --------------------
227
228
 
228
229
  * Adjust name ``handles_delivery_for_message`` to ``overrides_delivery_for_message``
229
230
 
230
231
  [1.3.0] - 2021-08-16
231
- ~~~~~~~~~~~~~~~~~~~~
232
+ --------------------
232
233
 
233
234
  * New channel method ``handles_delivery_for_message`` for allowing a default channel
234
235
  to claim a message, even if it would normally be delivered to the configured
@@ -238,29 +239,29 @@ Unreleased
238
239
  needed.
239
240
 
240
241
  [1.2.0] - 2021-07-16
241
- ~~~~~~~~~~~~~~~~~~~~
242
+ --------------------
242
243
 
243
244
  * Added support for django 3.2
244
245
 
245
246
  [1.1.1] - 2021-07-09
246
- ~~~~~~~~~~~~~~~~~~~~
247
+ --------------------
247
248
 
248
249
  * Removed upper constraint from Django
249
250
 
250
251
  [1.1.0] - 2021-03-26
251
- ~~~~~~~~~~~~~~~~~~~~
252
+ --------------------
252
253
 
253
254
  * Braze: Add ACE_CHANNEL_BRAZE_FROM_EMAIL setting to override the normal from address
254
255
  * Sailthru: Remove Braze rollout waffle flag
255
256
 
256
257
  [1.0.1] - 2021-03-15
257
- ~~~~~~~~~~~~~~~~~~~~
258
+ --------------------
258
259
 
259
260
  * Braze: Add an unsubscribe action link
260
261
  * Braze: Don't ask Braze to inline css, as ACE templates already have inline css
261
262
 
262
263
  [1.0.0] - 2021-03-11
263
- ~~~~~~~~~~~~~~~~~~~~
264
+ --------------------
264
265
 
265
266
  * BREAKING: Recipient objects now take `lms_user_id` instead of `username`
266
267
  * New `braze_email` backend, needing the following new configuration:
@@ -271,59 +272,52 @@ Unreleased
271
272
  * ACE_CHANNEL_BRAZE_CAMPAIGNS (an optional dictionary of ACE message names to Braze campaign identifiers)
272
273
 
273
274
  [0.1.18] - 2020-11-19
274
- ~~~~~~~~~~~~~~~~~~~~~
275
+ ---------------------
275
276
 
276
277
  * Updated he travis-badge in README.rst to point to travis-ci.com
277
278
 
278
279
  [0.1.17] - 2020-10-19
279
- ~~~~~~~~~~~~~~~~~~~~~
280
+ ---------------------
280
281
 
281
282
  * Use IntEnum to avoid silent failure in value comparisons
282
283
 
283
284
  [0.1.16] - 2020-10-17
284
- ~~~~~~~~~~~~~~~~~~~~~
285
+ ---------------------
285
286
 
286
287
  * Fixed Enum usage for Python 3.8 to avoid TypeError when comparing values
287
288
 
288
289
  [0.1.15] - 2020-03-11
289
- ~~~~~~~~~~~~~~~~~~~~~
290
+ ---------------------
290
291
 
291
292
  * Added support for Python 3.8
292
293
  * Removed support for Django 2.0 and 2.1
293
294
 
294
295
  [0.1.14] - 2020-03-11
295
- ~~~~~~~~~~~~~~~~~~~~~
296
+ ---------------------
296
297
 
297
298
  * Fix trivial warning from deprecated use of attr library.
298
299
 
299
300
  [0.1.13] - 2019-12-06
300
- ~~~~~~~~~~~~~~~~~~~~~
301
+ ---------------------
301
302
 
302
303
  * Django22 Support.
303
304
 
304
305
  [0.1.12] - 2019-10-16
305
- ~~~~~~~~~~~~~~~~~~~~~
306
+ ---------------------
306
307
 
307
308
  * Reply_to field added in emails.
308
309
 
309
310
  [0.1.10] - 2018-11-01
310
- ~~~~~~~~~~~~~~~~~~~~~
311
+ ---------------------
311
312
 
312
313
  * Django lazy text translations are handled properly.
313
314
 
314
-
315
315
  [0.1.9] - 2018-07-13
316
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
316
+ --------------------
317
317
 
318
318
  * Updated delivery logging
319
319
 
320
-
321
320
  [0.1.0] - 2017-08-08
322
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
323
-
324
- Added
325
- _____
326
-
327
- * First release on PyPI.
328
-
321
+ --------------------
329
322
 
323
+ * [Added] First release on PyPI.
@@ -1,4 +1,4 @@
1
- edx_ace/__init__.py,sha256=H1vs4Ne5f6OoNV8K5qxdTbtPzZhBBfe1zIs3VJuqxL4,636
1
+ edx_ace/__init__.py,sha256=G-qIKxlqAqzy9u_msaKLkPFJqCvqVgw0ose1zPyN15s,636
2
2
  edx_ace/ace.py,sha256=0nP8zvIWiME4qmpMT1PaV4nRDG6YR9Dxm7A6FGoBa8I,2501
3
3
  edx_ace/apps.py,sha256=xNedkdW6TNpm-W1uxnj3Vre2R1akkh2n_7DkSfKXmAk,216
4
4
  edx_ace/delivery.py,sha256=zo5lNHngycEn0tu-e3JM26njRVmaAttAH3D5ohz_468,2812
@@ -12,7 +12,7 @@ edx_ace/recipient_resolver.py,sha256=ChY0cgLSt_HioKSHyuCh7iHSJOsBWuivsOvAc6QyedE
12
12
  edx_ace/renderers.py,sha256=eJcTWyRhny-3PLHDV4Rozk1TJ0fjsqgOcFOWO_TTngk,3143
13
13
  edx_ace/serialization.py,sha256=EptnQqbI9j5kVqdUDAlm2pcm3dUsFwsP9tAji3y5uqc,3775
14
14
  edx_ace/signals.py,sha256=7kwpw7SgpPP6TRTtTQeGEOZ2cD_AcD4sSrpVxd_a19w,160
15
- edx_ace/channel/__init__.py,sha256=l2qZdiQb2HFsMixWjqf50-si7aGr06M2MvEYc7XayjU,6890
15
+ edx_ace/channel/__init__.py,sha256=bQ8rpb_o0CvyWxZjOkmU9Au2S4kUCeKM8upvUb3yG7g,7030
16
16
  edx_ace/channel/braze.py,sha256=k-R9jZpiBQTV0FQ3Z2gOipVgxNpBMPSLBL71muh9go4,10240
17
17
  edx_ace/channel/django_email.py,sha256=9TNdiFJ2U3QjKEriUl3_9twAFkH-E2EmrWujStUOWN0,2174
18
18
  edx_ace/channel/file.py,sha256=_Jx8o5Cw8IpEdaF7g-ljF7CEqswBHmuwyupm_tkI2wk,3028
@@ -41,10 +41,10 @@ edx_ace/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
41
  edx_ace/utils/date.py,sha256=Rmz3RAUCdd30hu1qcKH7FmAypaw1aSoZg-yfZig1c8A,1483
42
42
  edx_ace/utils/once.py,sha256=sY3szBh3gvvAjrKbKq4S2mCejompjh5YcYD7XOhzjGU,2024
43
43
  edx_ace/utils/plugins.py,sha256=U-l-eU2uWUiiwYV-H-2DfmwjoksqskAsYwS7QnThy2Q,2090
44
- edx_ace/utils/signals.py,sha256=zvHE0qW-oQUKNhj2bwMu16-XEBmJyjraIgcr2w0oHRw,1494
45
- edx_ace-1.11.2.dist-info/LICENSE.txt,sha256=VrSJ4gO4NCpskzfNHbaTB4VcN9Q213YdcHbpOZSwcOA,35138
46
- edx_ace-1.11.2.dist-info/METADATA,sha256=kjUdz45vf8HlTe5lYYZGTt5GPljn6UiN9m6q10vmpI4,10106
47
- edx_ace-1.11.2.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
48
- edx_ace-1.11.2.dist-info/entry_points.txt,sha256=fiR8u0PqGyp2qIiJxcSrYhIZ3gEwl0vIMnTPWegXwRI,332
49
- edx_ace-1.11.2.dist-info/top_level.txt,sha256=5eg_80KI88VkeiCVqZUqcYcc_PfPOg8o1GA4HxsiRU8,8
50
- edx_ace-1.11.2.dist-info/RECORD,,
44
+ edx_ace/utils/signals.py,sha256=efmnxI78juMLo6PJkPyfJ6pYTMY3kHnGy-_IR8FsDm8,1637
45
+ edx_ace-1.11.4.dist-info/LICENSE.txt,sha256=VrSJ4gO4NCpskzfNHbaTB4VcN9Q213YdcHbpOZSwcOA,35138
46
+ edx_ace-1.11.4.dist-info/METADATA,sha256=l7cVBcI9N2pVQnjasjuU0P--O3ZIIClIbBeurI1NqvM,10039
47
+ edx_ace-1.11.4.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
48
+ edx_ace-1.11.4.dist-info/entry_points.txt,sha256=hvoHnxCJGiV3KDdVi9YKPCCsub5O__3Q4dbVpTGPJoY,331
49
+ edx_ace-1.11.4.dist-info/top_level.txt,sha256=5eg_80KI88VkeiCVqZUqcYcc_PfPOg8o1GA4HxsiRU8,8
50
+ edx_ace-1.11.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.44.0)
2
+ Generator: bdist_wheel (0.45.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
@@ -4,4 +4,3 @@ django_email = edx_ace.channel.django_email:DjangoEmailChannel
4
4
  file_email = edx_ace.channel.file:FileEmailChannel
5
5
  push_notification = edx_ace.channel.push_notification:PushNotificationChannel
6
6
  sailthru_email = edx_ace.channel.sailthru:SailthruEmailChannel
7
-