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