Пример #1
0
    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)
    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)