def handle(self, *args, **options): ##### GENERATE A BULK EXPORT ##### # Set up CC connection cnx = CTCTConnection(API_KEY, USER, PASSWORD) # GENERATE EXPORT ACTIVITY FOR ACTIVE CONTACTS active_list_uri = 'http://api.constantcontact.com/ws/%s/lists/active' % USER # Create an export activity as a csv file activity_uri = cnx.create_activity(type='EXPORT_CONTACTS', lists=[active_list_uri], data={'fileType': 'TXT'}) activity_id = activity_uri.rpartition('/')[-1] # Check the activity status activity = cnx.get_activity(activity_id) # Load Bulk Export Activity load_activity(activity) #### TRY IMPORTING BULK EXPORT #### # retry download up to 5 times over 10 minuteS retries = 5 outcome = 'failed' while retries > 0 and outcome == 'failed': activity = cnx.get_activity(activity_id) activity_status = activity['status'] if activity_status == 'COMPLETE': #TODO:emails = fetch_bulk_contacts_export(activity_id) #TODO: sync_bulk_contacts(emails) outcome = 'succeeded' else: retries -= 1 time.sleep(120) #TODO: Log this print 'Data load %s for activity_id: %s' % (outcome, activity_id)