Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- listcleanse
- A simple script to delete all subscribers from specific lists in Exact Target.
- '''
- import etapi
- import exacttarget
- import logging
- import logging.handlers
- import sys
- logsize = 5*1024*1024
- exml = exacttarget.ExactTargetConnection(username='xxxCLEANSEDxxx', password='xxxxxxxx',timeout=1800)
- e = etapi.ExactTargetAPI('xxxCLEANSEDxxx','xxxxxxxx')
- client = e.init_client()
- def list_wipe(name):
- target = e.get_subscriber_list(name)
- logger.info("list:'%s' has id:'%s'" % (name,target.ID))
- status = False
- logger.info("retrieving subscribers from list:%s"%(name))
- subs = e.get_all_subscribers_in_list(target.ID)
- if subs is not None and subs!=[{}]:
- for sub in subs:
- logger.info("delete '%s-%d' from list:'%s'"%(sub.SubscriberKey, int(sub.ID), name))
- status = exml.subscriber_remove(int(target.ID),sub.SubscriberKey)
- logger.info("delete '%s-%d' from list:'%s' completed with status:'%s'"%(sub.SubscriberKey, int(sub.ID), name, str(status)))
- logger = logging.getLogger("ET List Cleaner")
- logger.setLevel(logging.DEBUG)
- fh = logging.handlers.RotatingFileHandler('listcleanse.log',maxBytes=logsize, backupCount=28)
- fh.setLevel(logging.DEBUG)
- formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
- fh.setFormatter(formatter)
- logger.addHandler(fh)
- logger.info ("Starting")
- all_my_lists =[
- "lastorder365days",
- "lastorder3060days",
- "lastorder6090days",
- "lastorder90365days",
- "lastsession365days",
- "lastsession3060days",
- "lastsession6090days",
- "lastsession90365days",
- "registeredyesterday",
- "neverordered"
- ]
- '''
- all_my_lists = ['registeredyesterday',]
- '''
- for targetlist in all_my_lists:
- logger.info("Processing list:'%s'"%(targetlist))
- list_wipe(targetlist)
- logger.info("Cleansed list:'%s'"%(targetlist))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement