Advertisement
Guest User

Untitled

a guest
Mar 10th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. '''
  2. listcleanse
  3.  
  4. A simple script to delete all subscribers from specific lists in Exact Target.
  5.  
  6. '''
  7. import etapi
  8. import exacttarget
  9. import logging
  10. import logging.handlers
  11.  
  12. import sys
  13.  
  14. logsize = 5*1024*1024
  15.  
  16. exml = exacttarget.ExactTargetConnection(username='xxxCLEANSEDxxx', password='xxxxxxxx',timeout=1800)
  17. e = etapi.ExactTargetAPI('xxxCLEANSEDxxx','xxxxxxxx')
  18. client = e.init_client()
  19.  
  20. def list_wipe(name):
  21. target = e.get_subscriber_list(name)
  22. logger.info("list:'%s' has id:'%s'" % (name,target.ID))
  23. status = False
  24. logger.info("retrieving subscribers from list:%s"%(name))
  25. subs = e.get_all_subscribers_in_list(target.ID)
  26. if subs is not None and subs!=[{}]:
  27. for sub in subs:
  28. logger.info("delete '%s-%d' from list:'%s'"%(sub.SubscriberKey, int(sub.ID), name))
  29. status = exml.subscriber_remove(int(target.ID),sub.SubscriberKey)
  30. logger.info("delete '%s-%d' from list:'%s' completed with status:'%s'"%(sub.SubscriberKey, int(sub.ID), name, str(status)))
  31.  
  32. logger = logging.getLogger("ET List Cleaner")
  33. logger.setLevel(logging.DEBUG)
  34. fh = logging.handlers.RotatingFileHandler('listcleanse.log',maxBytes=logsize, backupCount=28)
  35. fh.setLevel(logging.DEBUG)
  36. formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
  37. fh.setFormatter(formatter)
  38. logger.addHandler(fh)
  39. logger.info ("Starting")
  40.  
  41. all_my_lists =[
  42. "lastorder365days",
  43. "lastorder3060days",
  44. "lastorder6090days",
  45. "lastorder90365days",
  46. "lastsession365days",
  47. "lastsession3060days",
  48. "lastsession6090days",
  49. "lastsession90365days",
  50. "registeredyesterday",
  51. "neverordered"
  52. ]
  53.  
  54. '''
  55. all_my_lists = ['registeredyesterday',]
  56. '''
  57.  
  58. for targetlist in all_my_lists:
  59. logger.info("Processing list:'%s'"%(targetlist))
  60. list_wipe(targetlist)
  61. logger.info("Cleansed list:'%s'"%(targetlist))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement