X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/d0f0e1412cc42d366b234e798dfb68feed05d751..d555d988764995ea1f9f5ece46f453a66f09b334:/contact/mailing.py diff --git a/contact/mailing.py b/contact/mailing.py deleted file mode 100644 index bfd4209..0000000 --- a/contact/mailing.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- - -from hashlib import md5 - -import requests -from django.conf import settings -from mailchimp3 import MailChimp -from mailchimp3.mailchimpclient import MailChimpError - -INTERESTS = {settings.MAILCHIMP_GROUP_ID: True} - - -def get_client(): - headers = requests.utils.default_headers() - headers['User-Agent'] = '%s (%s)' % settings.MANAGERS[0] - - -def subscriber_hash(email): - return md5(email).hexdigest() - - -def remove_from_groups(email, client): - group_ids = [] - categories = client.lists.interest_categories.all(list_id=settings.MAILCHIMP_LIST_ID)['categories'] - for category in categories: - groups = client.lists.interest_categories.interests.all( - list_id=settings.MAILCHIMP_LIST_ID, category_id=category['id'])['interests'] - group_ids += [group['id'] for group in groups] - interests = {group_id: False for group_id in group_ids} - client.lists.members.update( - settings.MAILCHIMP_LIST_ID, subscriber_hash(email), - data={'interests': interests}) - - -def subscribe(email): - client = MailChimp(mc_api=settings.MAILCHIMP_API_KEY, timeout=10.0) - try: - member = client.lists.members.get(settings.MAILCHIMP_LIST_ID, subscriber_hash(email)) - except MailChimpError: - pass - else: - if member['status'] != 'subscribed': - remove_from_groups(email, client) - client.lists.members.create_or_update( - settings.MAILCHIMP_LIST_ID, subscriber_hash(email), - data={ - 'email_address': email, - 'status_if_new': 'subscribed', - 'status': 'subscribed', - 'interests': INTERESTS, - } - )