def get_ride_duration_and_price(self, request_id, starting_lat, starting_long, ending_lat, ending_long, product=None): # /v1/estimates/price request_url = self.BASE_URL + "estimates/price?start_latitude={0}&start_longitude={1}&end_latitude={2}&end_longitude={3}"\ .format(starting_lat, starting_long, ending_lat, ending_long) response_data = requests.get(request_url, headers={ "Authorization": "Token {0}".format(self.server_token) }).content duration_ests = [ UberDurationEstimate(request_id=request_id, starting_lat=starting_lat, starting_long=starting_long, ending_lat=ending_lat, ending_long=ending_long, **dur_est) for dur_est in json.loads(response_data).get("prices") ] if product: return [ dur_est for dur_est in duration_ests if dur_est.type == product ] return duration_ests
for row in uber_jobs: string_date = row[0:16] print string_date string_dates.append(string_date) all_dates.append(datetime.strptime(string_date, "%Y-%m-%d %H:%M").replace(tzinfo=tz.tzlocal())) # print all_dates with open("/Users/lorenamesa/Desktop/pytennessee/uber_duration_data.csv", "r") as csvdata: headers = ['starting_long', 'ending_long', 'high_estimate', 'surge_multiplier', 'starting_lat', 'low_estimate', 'request_id', 'duration', 'localized_display_name', 'ending_lat'] reader = csv.reader(csvdata) for row in reader: data = dict(zip(headers, row)) duration = UberDurationEstimate(**data) all_duration.append(duration) duration_req_ids = set([duration.request_id for duration in all_duration]) req_id_to_date = dict(zip(duration_req_ids, all_dates)) all_duration = [d for d in all_duration if d.request_id in req_id_to_date.keys()] for duration in all_duration: print req_id_to_date[duration.request_id] utctimestamp = int((req_id_to_date[duration.request_id] - datetime(1970, 1, 1, tzinfo=tz.tzutc())).total_seconds()) duration.set_requested_time(utctimestamp) uberX_surging = [duration for duration in all_duration if duration.starting_lat == "41.908511" and duration.type == "uberX" and 6 < duration.get_requested_time_hr() < 12] # print "Num of duration req ids : ", len(duration_req_ids)
"%Y-%m-%d %H:%M").replace(tzinfo=tz.tzlocal())) # print all_dates with open("/Users/lorenamesa/Desktop/pytennessee/uber_duration_data.csv", "r") as csvdata: headers = [ 'starting_long', 'ending_long', 'high_estimate', 'surge_multiplier', 'starting_lat', 'low_estimate', 'request_id', 'duration', 'localized_display_name', 'ending_lat' ] reader = csv.reader(csvdata) for row in reader: data = dict(zip(headers, row)) duration = UberDurationEstimate(**data) all_duration.append(duration) duration_req_ids = set([duration.request_id for duration in all_duration]) req_id_to_date = dict(zip(duration_req_ids, all_dates)) all_duration = [ d for d in all_duration if d.request_id in req_id_to_date.keys() ] for duration in all_duration: print req_id_to_date[duration.request_id] utctimestamp = int( (req_id_to_date[duration.request_id] - datetime(1970, 1, 1, tzinfo=tz.tzutc())).total_seconds()) duration.set_requested_time(utctimestamp)