From 188f0a1675f993921760d0620cf0bad8270aff10 Mon Sep 17 00:00:00 2001 From: jar3b Date: Wed, 5 Dec 2018 16:23:04 +0300 Subject: [PATCH] Add dist files --- queued_mailer/__init__.py | 3 +++ queued_mailer/backend.py | 21 +++++++++++++++++++++ queued_mailer/settings.py | 13 +++++++++++++ queued_mailer/tasks.py | 7 +++++++ requirements.txt | 2 ++ setup.cfg | 2 ++ setup.py | 24 ++++++++++++++++++++++++ 7 files changed, 72 insertions(+) create mode 100644 queued_mailer/__init__.py create mode 100644 queued_mailer/backend.py create mode 100644 queued_mailer/settings.py create mode 100644 queued_mailer/tasks.py create mode 100644 requirements.txt create mode 100644 setup.cfg create mode 100644 setup.py diff --git a/queued_mailer/__init__.py b/queued_mailer/__init__.py new file mode 100644 index 0000000..eea436a --- /dev/null +++ b/queued_mailer/__init__.py @@ -0,0 +1,3 @@ +import logging + +logger = logging.getLogger(__name__) diff --git a/queued_mailer/backend.py b/queued_mailer/backend.py new file mode 100644 index 0000000..8842ecc --- /dev/null +++ b/queued_mailer/backend.py @@ -0,0 +1,21 @@ +from django.core.mail.backends.base import BaseEmailBackend +from django.utils.module_loading import import_string + +from . import logger +from .settings import EMAIL_SEND_TASK + + +class EmailBackend(BaseEmailBackend): + task = None + + def __init__(self, fail_silently=False, **kwargs): + super(EmailBackend, self).__init__(fail_silently, **kwargs) + self.task = import_string(EMAIL_SEND_TASK) + + def send_messages(self, email_messages): + num_sent = 0 + for email in email_messages: + logger.info(email) + logger.info(self.task) + num_sent += 1 + return num_sent diff --git a/queued_mailer/settings.py b/queued_mailer/settings.py new file mode 100644 index 0000000..e802a62 --- /dev/null +++ b/queued_mailer/settings.py @@ -0,0 +1,13 @@ +from django.conf import settings + +EMAIL_BACKEND = getattr( + settings, + "QMAILER_EMAIL_BACKEND", + "django.core.mail.backends.smtp.EmailBackend" +) + +EMAIL_SEND_TASK = getattr( + settings, + "QMAILER_SEND_TASK", + "queued_mailer.tasks.send_message" +) diff --git a/queued_mailer/tasks.py b/queued_mailer/tasks.py new file mode 100644 index 0000000..f3392a9 --- /dev/null +++ b/queued_mailer/tasks.py @@ -0,0 +1,7 @@ +from . import logger +from .settings import EMAIL_BACKEND + + +def send_message(): + logger.info(EMAIL_BACKEND) + logger.info('sent') diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b99923e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +django>=1.11 +celery>=4.1.1 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..224a779 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,2 @@ +[metadata] +description-file = README.md \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..9b5405a --- /dev/null +++ b/setup.py @@ -0,0 +1,24 @@ +from distutils.core import setup + +setup( + name='django-queued-mailer', + packages=['queued_mailer'], + version='0.0.1', + description='Django mail backend uses celery as email message queue', + author='jar3b', + author_email='hellotan@live.ru', + license="MIT license", + url='https://github.com/jar3b/django-queued-mailer', + keywords='python2 django email celery', + + requires=['django (>= 1.11)', 'celery (>= 4.1.1)'], + + classifiers=[ + 'Development Status :: 3 - Alpha', + 'Framework :: Django', + 'License :: OSI Approved :: MIT License', + 'Programming Language :: Python', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.7', + ], +)