Example #1
0
def signup(request):
    title = "Newsletter Sign Up"

    form = NewsletterSignupForm()

    if request.method == "POST":
        form.update(request.POST,request.FILES)

        if form.is_valid():

            request.session['user_email'] = form.cleaned["email"]

            # submit to mailchimp
            mc = MailChimp('279d12598a1af566db37d6bb1c2e77bc-us7')
            lists = mc.lists()
            
            list_id = lists[0]['id'] 
            
            try:
                mc.listSubscribe(
                    id=list_id,
                    email_address=form.cleaned['email'],
                    send_welcome=False, 
                    replace_interests=False, 
                    update_existing=False, 
                    merge_vars={'EMAIL': form.cleaned['email']},
                    double_optin=False)
            except MailChimpError, e: 
                pass
                #raise Exception("\n%s : mailchimp error: %s: %s" % (datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), e.msg, e.code ))
                #open("/usr/local/web/logs/mailchimp.log","a+").write("\n%s : mailchimp error: %s: %s" % (datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), e.msg, e.code ))
            return HttpResponseRedirect("/?msg=1")
Example #2
0
 def mailchimp_lists(self):
     CACHE_KEY = Social.MAILCHIMP_CACHE_KEY % self.id
     mailchimp_choices = cache.get(CACHE_KEY)
     if mailchimp_choices is None:
         mailchimp = MailChimp(self.mailchimp_api_key)
         mailchimp_choices = [
             (lst['id'], lst['name'])
             for lst in mailchimp.lists()
         ]
         cache.set(CACHE_KEY, mailchimp_choices, 3600)
     return mailchimp_choices
Example #3
0
class Mail(object):
    def __init__(self):
        self.chimp = MailChimp('c208efd742b3f02aa8d2f23a10d0a407-us2', debug=True)
        self.campaign_id = self.listCampaigns()[0]['id']

    def listCampaigns(self):
        return self.chimp.lists()

    def listSubscribe(self, list_id, profile):
        return self.chimp.listSubscribe(id=list_id, email_address=profile.user.email,
                                        merge_vars={'FNAME': profile.username}, double_optin=False)
Example #4
0
class Mail(object):
    def __init__(self):
        self.chimp = MailChimp('c208efd742b3f02aa8d2f23a10d0a407-us2',
                               debug=True)
        self.campaign_id = self.listCampaigns()[0]['id']

    def listCampaigns(self):
        return self.chimp.lists()

    def listSubscribe(self, list_id, profile):
        return self.chimp.listSubscribe(id=list_id,
                                        email_address=profile.user.email,
                                        merge_vars={'FNAME': profile.username},
                                        double_optin=False)