def list_member_add(self, list_id, cuID): """ Add a member to a list """ T = current.T from os_customer import Customer customer = Customer(cuID) subscriber_hash = customer.get_email_hash('md5') mailchimp = self.get_client() try: mailchimp.lists.members.create_or_update( list_id=list_id, subscriber_hash=subscriber_hash, data={ 'email_address': customer.row.email, 'status': 'subscribed', 'status_if_new': 'pending', 'merge_fields': { 'FNAME': customer.row.first_name, 'LNAME': customer.row.last_name, } }) message = T('Subscription successful, please check your inbox') except MailChimpError as e: message = T( "We encountered an error while trying to subscribe you to this list, please try again later." ) return message
def list_member_delete(self, list_id, cuID): """ Delete a member from a list """ from os_customer import Customer customer = Customer(cuID) mailchimp = self.get_client() mailchimp.lists.members.delete( list_id=list_id, subscriber_hash=customer.get_email_hash('md5'))
def get_mailing_list_customer_subscription_status(self, mailchimp, list_id, cuID): """ :param: mailchimp: MailChimp object (mailchimp3) :param cuID: db.auth_user.id :return: boolean """ import hashlib from os_customer import Customer customer = Customer(cuID) subscriber_hash = customer.get_email_hash('md5') try: member = mailchimp.lists.members.get( list_id=list_id, subscriber_hash=subscriber_hash) return member['status'] except MailChimpError as e: return 'error'