Пример #1
0
 def mailchimper(self):
     """
     Property for get an Mailchimp object
     """
     settings.use_editable()
     if not getattr(settings, 'MAILCHIMP_API_KEY', None):
         raise ImproperlyConfigured("The MAILCHIMP_API_KEY setting must "
                                    "not be empty.")
     return Mailchimp(settings.MAILCHIMP_API_KEY)
Пример #2
0
 def client(self):
     if self._client is None:
         if self.is_madmimi():
             self._client = MadMimi(settings.MADMIMI_USER,
                                    settings.MADMIMI_API_KEY)
         elif self.is_mailchimp():
             self._client = Mailchimp(settings.MAILCHIMP_API_KEY)
         else:
             raise NotImplementedError('EmailMarketing provider %s is '
                     'invalid.' % settings.CURRENT_EMAIL_MARKETING_PROVIDER)
     return self._client
Пример #3
0
def subscribe_to_newsletter(email, request=None):
    mc = Mailchimp(settings.MAILCHIMP_API_KEY)
    subscribed = True
    try:
        mc.lists.subscribe(settings.MAILCHIMP_LIST_ID, email={'email': email}, double_optin=False)
    except Exception as e:
        subscribed = False
    if request:
        if subscribed:
            messages.success(request, "You've been subscribed to the SmallsLIVE newsletter.")
        else:
            messages.error(request, "There's been an error while trying to subscribe to the SmallsLIVE newsletter.")
    return subscribed
Пример #4
0
def unsubscribe_from_newsletter(email, request=None):
    mc = Mailchimp(settings.MAILCHIMP_API_KEY)
    unsubscribed = True
    try:
        mc.lists.unsubscribe(settings.MAILCHIMP_LIST_ID, email={'email': email})
    except Exception as e:
        unsubscribed = False
    if request:
        if unsubscribed:
            messages.success(request, "You've been unsubscribed from the SmallsLIVE newsletter.")
        else:
            messages.error(request, "There's been an error while trying to unsubscribe from the SmallsLIVE newsletter.")
    return unsubscribed
    def run(self):
        if settings.MAILCHIMP_API_KEY is None:
            self.print_error('MAILCHIMP_API_KEY not set')
            return False

        api_key = settings.MAILCHIMP_API_KEY
        list_id = settings.MAILCHIMP_SUBSCRIBE_LIST_ID

        api = Mailchimp(api_key)
        try:
            api.lists.subscribe(list_id, {'email': self.email})
        except (ListDoesNotExistError, EmailNotExistsError, ListAlreadySubscribedError, Error) as e:
            self.print_error(repr(e))
            return False
 def handle(self, *apps, **options):
     settings.use_editable()
     mc = Mailchimp(settings.MAILCHIMP_API_KEY)
     result_list = mc.lists.list(filters={})
     # result_list = mc.lists.list(filters={'list_name': 'list_2'})
     print(result_list)
     for mc_list in result_list['data']:
         result_members = mc.lists.members(mc_list['id'])
         pprint.pprint(result_members)
         result_info = mc.lists.member_info(
             mc_list['id'], [{
                 'email': '*****@*****.**'
             }])
         print("***********************")
         pprint.pprint(result_info)
Пример #7
0
    def handle_noargs(self, *args, **options):
        env = os.environ.get('CRON_ENV')
        now = timezone.now()
        # heroku scheduler launches the task every day, we make sure it only really does the import
        # once a week (tuesday)
        if env == "heroku" and now.weekday() != 1:
            return

        mc = Mailchimp(settings.MAILCHIMP_API_KEY)
        campaigns = mc.campaigns.list(filters={
            'status': 'sent',
            'title': 'SmallsLIVE',
            'exact': False}, limit=1000)
        for campaign in campaigns.get('data'):
            if not Newsletter.objects.filter(id=campaign.get('id')).exists():
                newsletter = Newsletter.objects.create(
                    id=campaign.get('id'),
                    title=campaign.get('title'),
                    date=campaign.get('send_time'),
                    link=campaign.get('archive_url')
                )
Пример #8
0
 def __init__(self, api_key):
     self.mc = Mailchimp(api_key)
Пример #9
0
 def handle(self, *args, **options):
     mailchimp = Mailchimp(settings.MAILCHIMP_KEY)
     return mailchimp.lists.list()['data'][0]['id']