def price_range_result(): price=request.form['price'] baseurl='https://api.yelp.com/v3/businesses/search' headers={'Authorization': 'Bearer %s' % secret.api_key} params={} params['location']=model.city_name params['price']=price results=model.make_request_using_cache(baseurl,headers,params) print(results) model.insert_table_from_api(results) conn = sqlite3.connect('final507.sqlite') cur = conn.cursor() statement='select r.lati,r.logi,r.name,r.id from restaurants_info as r join city_info as c on c.Id=r.city where r.price=? and c.name =? limit 20' if int(price)==1: the_price='$' elif int(price)==2: the_price='$$' elif int(price)==3: the_price='$$$' else: the_price='$$$$' print(the_price) cur.execute(statement,(the_price, model.city_name)) result=cur.fetchall() data,layout=model.plot_prepare(result) fig = dict(data=data, layout=layout ) my_plot_div = plot(fig, include_plotlyjs=False, output_type='div') statement='select * from city_info where name=?' cur.execute(statement,[model.city_name]) city_information=cur.fetchone() conn.close() print(result) return render_template("price_range_visul.html", city_information=city_information, city_name=model.city_name, div_placeholder=Markup(my_plot_div))
def test_insert_table_from_open_now(self): model.init('Chicago') model.insert_table_from_scrap('Chicago') baseurl='https://api.yelp.com/v3/businesses/search' headers={'Authorization': 'Bearer %s' % secret.api_key} params={} params['location']='Chicago' params['open_now']=True results=model.make_request_using_cache(baseurl,headers,params) model.insert_table_from_api(results,'bars') conn = sqlite3.connect('final507.sqlite') cur = conn.cursor() statement='select * from restaurants_info where id=?' cur.execute(statement,[results['businesses'][0]['id']]) result=cur.fetchone() self.assertEqual(results['businesses'][0]['id'],result[0]) conn.commit() conn.close()
def test_plot_prepare_type(self): model.init('Chicago') model.insert_table_from_scrap('Chicago') baseurl='https://api.yelp.com/v3/businesses/search' headers={'Authorization': 'Bearer %s' % secret.api_key} params={} params['location']='Chicago' params['price']=2 results=model.make_request_using_cache(baseurl,headers,params) model.insert_table_from_api(results,'bars') conn = sqlite3.connect('final507.sqlite') cur = conn.cursor() statement='select r.lati,r.logi,r.name,r.id from restaurants_info as r join city_info as c on c.Id=r.city where r.price=? and c.name =? limit 20' cur.execute(statement,('$$', 'Chicago')) result=cur.fetchall() data,style=model.plot_prepare(result) self.assertIsInstance(data,list) self.assertIsInstance(style,dict)