diff --git a/djrill/mail/backends/djrill.py b/djrill/mail/backends/djrill.py index a5003d8..d63faf4 100644 --- a/djrill/mail/backends/djrill.py +++ b/djrill/mail/backends/djrill.py @@ -409,26 +409,3 @@ class DjrillBackend(BaseEmailBackend): 'content': content_b64.decode('ascii'), } return mandrill_attachment, is_embedded_image - - -############################################################################################ -# Recreate this module, but with a warning on attempts to import deprecated properties. -# This is ugly, but (surprisingly) blessed: http://stackoverflow.com/a/7668273/647002 -import sys -import types - - -class ModuleWithDeprecatedProps(types.ModuleType): - def __init__(self, module): - self._orig_module = module # must keep a ref around, or it'll get deallocated - super(ModuleWithDeprecatedProps, self).__init__(module.__name__, module.__doc__) - self.__dict__.update(module.__dict__) - - @property - def DjrillBackendHTTPError(self): - removed_in_djrill_2("DjrillBackendHTTPError will be removed in Djrill 2.0. " - "Use djrill.MandrillAPIError instead.") - return MandrillAPIError - - -sys.modules[__name__] = ModuleWithDeprecatedProps(sys.modules[__name__]) diff --git a/djrill/tests/test_legacy.py b/djrill/tests/test_legacy.py index b0d5cc3..0298808 100644 --- a/djrill/tests/test_legacy.py +++ b/djrill/tests/test_legacy.py @@ -6,8 +6,7 @@ import warnings from django.core import mail from django.test import TestCase -from djrill import MandrillAPIError, NotSupportedByMandrillError -from djrill.exceptions import RemovedInDjrill2 +from djrill import NotSupportedByMandrillError from djrill.tests.mock_backend import DjrillBackendMockAPITestCase from djrill.tests.utils import reset_warning_registry @@ -36,15 +35,6 @@ class DjrillBackendDeprecationTests(DjrillBackendMockAPITestCase): self.assertEqual(data['message']['global_merge_vars'], [{'name': 'DATE', 'content': "2022-10-11 00:00:00"}]) - def test_deprecated_djrill_backend_http_error(self): - """Djrill 0.2 deprecated DjrillBackendHTTPError; 2.0 will drop it""" - def try_import(): - # noinspection PyUnresolvedReferences - from djrill.mail.backends.djrill import DjrillBackendHTTPError - self.assertWarnsMessage(DeprecationWarning, - "DjrillBackendHTTPError will be removed in Djrill 2.0", - try_import) - def assertWarnsMessage(self, warning, message, callable, *args, **kwds): """Checks that `callable` issues a warning of category `warning` containing `message`""" with warnings.catch_warnings(record=True) as warned: @@ -66,17 +56,6 @@ class DjrillBackendDeprecationTests(DjrillBackendMockAPITestCase): class DjrillLegacyExceptionTests(TestCase): - def test_DjrillBackendHTTPError(self): - """MandrillApiError was DjrillBackendHTTPError in 0.2.0""" - # ... and had to be imported from deep in the package: - with warnings.catch_warnings(): - warnings.filterwarnings('ignore', category=RemovedInDjrill2, - message="DjrillBackendHTTPError will be removed in Djrill 2.0") - # noinspection PyUnresolvedReferences - from djrill.mail.backends.djrill import DjrillBackendHTTPError - ex = MandrillAPIError("testing") - self.assertIsInstance(ex, DjrillBackendHTTPError) - def test_NotSupportedByMandrillError(self): """Unsupported features used to just raise ValueError in 0.2.0""" ex = NotSupportedByMandrillError("testing") diff --git a/docs/history.rst b/docs/history.rst index 615267a..260f936 100644 --- a/docs/history.rst +++ b/docs/history.rst @@ -53,6 +53,10 @@ Removed DjrillMessage class You should replace any uses of it with the standard :class:`~django.core.mail.EmailMessage` class. +Removed DjrillBackendHTTPError + This exception was deprecated in Djrill 0.3. Replace uses of it + with :exc:`djrill.MandrillAPIError`. + **Dates in merge data and other attributes** @@ -72,13 +76,6 @@ or datetime values used in any Mandrill message attributes other than `send_at`. See :ref:`formatting-merge-data` for other options. -**DjrillBackendHTTPError** - -The ``DjrillBackendHTTPError`` exception was replaced in Djrill 0.3 -with :exc:`djrill.MandrillAPIError`. Djrill 1.4 will report a -DeprecationWarning if you are still importing DjrillBackendHTTPError. - - Older Releases --------------