mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 03:41:05 -05:00
Rename EmailBackends for Django consistency
* **Future breaking change:** Rename all Anymail backends to just `EmailBackend`, matching Django's naming convention. (E.g., switch to "anymail.backends.mailgun.EmailBackend" rather than "anymail.backends.mailgun.MailgunBackend".) The old names still work, but will issue a DeprecationWarning and will be removed in some future release. (Apologies for this change; the old naming convention was a holdover from Djrill, and I wanted consistency with other Django EmailBackends before hitting 1.0.) Fixes #49.
This commit is contained in:
@@ -1,18 +1,20 @@
|
||||
import warnings
|
||||
from datetime import datetime
|
||||
|
||||
from ..exceptions import AnymailRequestsAPIError, AnymailWarning
|
||||
from ..exceptions import AnymailRequestsAPIError, AnymailWarning, AnymailDeprecationWarning
|
||||
from ..message import AnymailRecipientStatus, ANYMAIL_STATUSES
|
||||
from ..utils import last, combine, get_anymail_setting
|
||||
|
||||
from .base_requests import AnymailRequestsBackend, RequestsPayload
|
||||
|
||||
|
||||
class MandrillBackend(AnymailRequestsBackend):
|
||||
class EmailBackend(AnymailRequestsBackend):
|
||||
"""
|
||||
Mandrill API Email Backend
|
||||
"""
|
||||
|
||||
esp_name = "Mandrill"
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
"""Init options from Django settings"""
|
||||
esp_name = self.esp_name
|
||||
@@ -21,7 +23,7 @@ class MandrillBackend(AnymailRequestsBackend):
|
||||
default="https://mandrillapp.com/api/1.0")
|
||||
if not api_url.endswith("/"):
|
||||
api_url += "/"
|
||||
super(MandrillBackend, self).__init__(api_url, **kwargs)
|
||||
super(EmailBackend, self).__init__(api_url, **kwargs)
|
||||
|
||||
def build_message_payload(self, message, defaults):
|
||||
return MandrillPayload(message, defaults, self)
|
||||
@@ -44,6 +46,15 @@ class MandrillBackend(AnymailRequestsBackend):
|
||||
return recipient_status
|
||||
|
||||
|
||||
# Pre-v0.8 naming (deprecated)
|
||||
class MandrillBackend(EmailBackend):
|
||||
def __init__(self, **kwargs):
|
||||
warnings.warn(AnymailDeprecationWarning(
|
||||
"Please update your EMAIL_BACKEND setting to "
|
||||
"'anymail.backends.mandrill.EmailBackend'"))
|
||||
super(MandrillBackend, self).__init__(**kwargs)
|
||||
|
||||
|
||||
class DjrillDeprecationWarning(AnymailWarning, DeprecationWarning):
|
||||
"""Warning for features carried over from Djrill that will be removed soon"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user