def request_uber(): """Make sandbox Uber ride request""" search = Search.query.order_by(Search.date.desc()).first() search.uber_request = True db.session.commit() credentials2 = import_oauth2_credentials() oauth2credential = OAuth2Credential( client_id=credentials2.get('client_id'), access_token=sesh.get('access_token'), expires_in_seconds=credentials2.get('expires_in_seconds'), scopes=credentials2.get('scopes'), grant_type=credentials2.get('grant_type'), redirect_url=credentials2.get('redirect_url'), client_secret=credentials2.get('client_secret'), refresh_token=credentials2.get('refresh_token'), ) uber_session = Session(oauth2credential=oauth2credential) uber_client = UberRidesClient(uber_session, sandbox_mode=True) # receive data from Ajax call start_lat = request.form.get('start_lat') start_lng = request.form.get('start_lng') end_lat = request.form.get('end_lat') end_lng = request.form.get('end_lng') response = uber_client.get_products(37.3688301, -122.0363495) products = response.json.get('products') product_id = products[0].get('product_id') # make sandbox calls ride_request = uber_client.request_ride(product_id=product_id, start_latitude=37.3688301, start_longitude=-122.0363495, end_latitude=37.8003415, end_longitude=-122.4331332) ride_details = ride_request.json ride_id = ride_details.get('request_id') get_ride = uber_client.update_sandbox_ride(ride_id, 'accepted') send_uber_text(); return jsonify(ride_details)
def requests2(): from uber_rides.client import UberRidesClient from uber_rides.session import Session sessionUberRides = Session(server_token=config.get('server_token')) client = UberRidesClient(sessionUberRides, sandbox_mode=True) print sessionUberRides response = client.get_products(config.get('start_latitude'), config.get('start_longitude')) products = response.json.get('products') product_id = products[0].get('product_id') print product_id print response.status_code client = UberRidesClient(generate_oauth_service(), sandbox_mode=True) responseUber = client.request_ride( product_id=product_id, start_latitude=config.get('start_latitude'), start_longitude=config.get('start_longitude'), end_latitude=config.get('end_latitude'), end_longitude=config.get('end_longitude'), ) print responseUber ride_details = responseUber.json print ride_details ride_id = ride_details.get('request_id') responseUber = client.update_sandbox_ride(ride_id, 'accepted') # url = config.get('base_uber_url_SANDBOX') + 'requests' # params = { # 'start_latitude': config.get('start_latitude'), # 'start_longitude': config.get('start_longitude'), # 'end_latitude': config.get('end_latitude'), # 'end_longitude': config.get('end_longitude'), # } # # # print url, generate_ride_headers(session.get('access_token')) # response = app.requests_session.post( # url, # headers=generate_ride_headers(session.get('access_token')), # data=params # ) # # # print response if response.status_code != 204: return 'There was an error ' + response return render_template( 'results.html', endpoint='requests', data=responseUber, )
def requests2(): from uber_rides.client import UberRidesClient from uber_rides.session import Session sessionUberRides = Session(server_token=config.get('server_token')) client = UberRidesClient(sessionUberRides, sandbox_mode=True) print sessionUberRides response = client.get_products(config.get('start_latitude'), config.get('start_longitude')) products = response.json.get('products') product_id = products[0].get('product_id') print product_id print response.status_code client = UberRidesClient(generate_oauth_service(), sandbox_mode=True) responseUber = client.request_ride( product_id=product_id, start_latitude=config.get('start_latitude'), start_longitude=config.get('start_longitude'), end_latitude=config.get('end_latitude'), end_longitude=config.get('end_longitude'), ) print responseUber ride_details = responseUber.json print ride_details ride_id = ride_details.get('request_id') responseUber = client.update_sandbox_ride(ride_id, 'accepted') # url = config.get('base_uber_url_SANDBOX') + 'requests' # params = { # 'start_latitude': config.get('start_latitude'), # 'start_longitude': config.get('start_longitude'), # 'end_latitude': config.get('end_latitude'), # 'end_longitude': config.get('end_longitude'), # } # # # print url, generate_ride_headers(session.get('access_token')) # response = app.requests_session.post( # url, # headers=generate_ride_headers(session.get('access_token')), # data=params # ) # # # print response if response.status_code != 204 : return 'There was an error ' + response return render_template( 'results.html', endpoint='requests', data=responseUber, )
class Uber_api(object): def __init__(self): self.url, self.auth_flow = get_auth_url() def get_AuthUrl(self): return self.url def get_AuthCredentials(self, red_url, cred): if red_url: session = self.auth_flow.get_session(red_url) self.client = UberRidesClient(session, sandbox_mode=False) cred = session.oauth2credential return cred else: session = Session(oauth2credential=cred) self.client = UberRidesClient(session, sandbox_mode=False) def user_profile(self): reponse = self.client.get_user_profile() profile = reponse.json first_name = profile.get('first_name') last_name = profile.get('last_name') email = profile.get('email') return first_name, last_name, email def user_history(self): reponse = self.client.get_user_activity() history = reponse.json return history def get_products(self, lat=37.77, lng=-122.41): response = self.client.get_products(lat, lng).json #self.product_id = pdct[0].get('product_id') return response def get_estimate_pricess(self, start_latitude=37.77, start_longitude=-122.41, end_latitude=37.79, end_longitude=-122.41): res = self.client.get_price_estimates(start_latitude=start_latitude, start_longitude=start_longitude, end_latitude=end_latitude, end_longitude=end_longitude).json return res def get_estimate_time(self, start_latitude=37.77, start_longitude=-122.41, product_id='57c0ff4e-1493-4ef9-a4df-6b961525cf92'): res = self.client.get_pickup_time_estimates( start_latitude=start_latitude, start_longitude=start_longitude, product_id=product_id).json return res def get_estimate_price(self, st_lat=37.77, st_lng=-122.41, dt_lat=37.79, dt_lng=-122.41, seat_count=2, product_id='a1111c8c-c720-46c3-8534-2fcdd730040d'): estimate = self.client.estimate_ride(product_id=product_id, start_latitude=st_lat, start_longitude=st_lng, end_latitude=dt_lat, end_longitude=dt_lng, seat_count=seat_count) est = estimate.json.get('fare') #self.fare_id = est['fare_id'] return est def request_ride(self, st_lat=37.77, st_lng=-122.41, dt_lat=37.79, dt_lng=-122.41, seat_count=2, prod_id='', fare_id=''): response = self.client.request_ride(product_id=prod_id, start_latitude=st_lat, start_longitude=st_lng, end_latitude=dt_lat, end_longitude=dt_lng, seat_count=seat_count, fare_id=fare_id) req = response.json #self.request_id = req.get('request_id') return req def riders_details(self, req_id="221448y7e32ye"): res = self.client.get_ride_details(req_id) ride = res.json return ride def process_request(self, req_id): status = 'accepted' self.client.update_sandbox_ride(req_id, status) #status = ['in_progress','accepted','completed'] # # for i in range(len(status)): # self.client.update_sandbox_ride(req_id,status[i]) # time.sleep(15) def cancel_current_ride(self): res = self.client.cancel_current_ride() return res.json def cancel_ride(self, req_id): res = self.client.cancel_ride(req_id) return res.json