当前位置: 首页>>代码示例>>Python>>正文


Python MailSnake.listMembers方法代码示例

本文整理汇总了Python中mailsnake.MailSnake.listMembers方法的典型用法代码示例。如果您正苦于以下问题:Python MailSnake.listMembers方法的具体用法?Python MailSnake.listMembers怎么用?Python MailSnake.listMembers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mailsnake.MailSnake的用法示例。


在下文中一共展示了MailSnake.listMembers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from mailsnake import MailSnake [as 别名]
# 或者: from mailsnake.MailSnake import listMembers [as 别名]
def main(mailchimp_key, list_id, rapleaf_key):
    
    thirty_days_ago = datetime.datetime.now() - datetime.timedelta(days=30)
    ms = MailSnake(mailchimp_key)
    rapleaf = RapleafApi.RapleafApi(rapleaf_key)
    
    members = ms.listMembers(id=list_id, limit=1500)['data']
    
    active_members = []
    for member in members:
        member_activity = ms.listMemberActivity(id=list_id, email_address=member['email'])
        actions = [action for action in member_activity['data'][0] if action['action'] == 'open']
        if actions:
            last_action = actions[0]
            last_event = datetime.datetime.strptime(last_action['timestamp'], "%Y-%m-%d %H:%M:%S")
            if last_event > thirty_days_ago:
                active_members.append(member['email'])
    
    age_map = defaultdict(int)
    for active_member in active_members:
        try:
            response = rapleaf.query_by_email(active_member)
            age = response.get("age")
            age_map[age] += 1
            # for k, v in response.iteritems():
            #     print '%s = %s' % (k, v)
        except Exception as e:
          print e
    for x, y in age_map.iteritems():
        print x, y
开发者ID:spulec,项目名称:mailchimp_rapleaf,代码行数:32,代码来源:connect.py

示例2: update_ticketholders_list

# 需要导入模块: from mailsnake import MailSnake [as 别名]
# 或者: from mailsnake.MailSnake import listMembers [as 别名]
    def update_ticketholders_list(self):
        ms = MailSnake(app.config['MAILCHIMP_KEY'])
        list_id = '5f939ca32a'  # Ticketholders 2016
        tix = Ticket.query.filter_by(paid=True).join(User).\
            group_by(User).with_entities(User).order_by(User.id)

        list_members = {member['email'] for member in ms.listMembers(id=list_id, limit=10000)['data']}
        current_users = {ticket.email for ticket in tix}

        to_remove = list_members - current_users
        to_add = current_users - list_members

        app.logger.info("Ticketholders list: adding %s addresses, removing %s addresses",
                        len(to_add), len(to_remove))

        res = ms.listBatchUnsubscribe(id=list_id, emails=list(to_remove), send_goodbye=False)
        print(res)

        to_add_data = [{'EMAIL': email, 'EMAIL_TYPE': 'html'} for email in to_add]
        res = ms.listBatchSubscribe(id=list_id, batch=to_add_data,
                                    double_optin=False, update_existing=True)
        print(res)
开发者ID:bfirsh,项目名称:Website,代码行数:24,代码来源:utils.py


注:本文中的mailsnake.MailSnake.listMembers方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。