def upload_csv(self, project_id, token, filename): """ Upload CSV file as dataset to AmigoCloud :param project_id: :param token: :param filename: :return: """ user_id = 1 amigocloud = AmigoCloud(token=token)#str(sys.argv[1])) response = amigocloud.upload_datafile(user_id, project_id, filename) print "Uploading file " + filename + " to project " + project_id + "..." # Wait until async job is done job_url = 'me/jobs/%s' % response['job'] while True: response = amigocloud.get(job_url) if response['status'] not in ('STARTED', 'PENDING'): break time.sleep(0.5) # Wait 500ms and retry
import json import re import time from amigocloud import AmigoCloud amigocloud = AmigoCloud(token='<your_token>') PROJECT_OWNER = 1 PROJECT_ID = 123 FILE_PATH = 'sf_neighborhoods.zip' DATASET_ID = None # TBD # Upload shapefile response = amigocloud.upload_datafile(PROJECT_OWNER, PROJECT_ID, FILE_PATH) print "Uploaded file '%s'" % FILE_PATH # Wait until async job is done job_url = 'me/jobs/%s' % response['job'] while True: response = amigocloud.get(job_url) if response['status'] not in ('STARTED', 'PENDING'): break time.sleep(0.5) # Wait 500ms and retry print "File '%s' finished processing" % FILE_PATH # Save new dataset ID DATASET_ID = response['extra']['dataset_ids'][0] print 'Dataset with ID=%d was created' % DATASET_ID