def GetItem(): result = {} start_time = time.time() try: id = request.args.get('id', '') args = '?id={0}'.format(id) url = getEngineUrl() + "/querygetitemfeaturesandfeaturesentencesbyitemid" + args print url featuresInfo = {} featuresInfo = ast.literal_eval(urllib2.urlopen(url).read()) print("---getitemfeaturesandfeaturesentencesbyitemid %s seconds ---" % (time.time() - start_time)) item = sourceDBProvider.GetRestaurantInfo([id]) print("---GetRestaurantInfo %s seconds ---" % (time.time() - start_time)) result['restaurantInfo'] = {} result['restaurantInfo']['id'] = item[0][0][0] result['restaurantInfo']['city'] = item[0][0][1] result['restaurantInfo']['name'] = item[0][0][2] result['restaurantInfo']['type'] = item[0][0][3] result['restaurantInfo']['full_address'] = item[0][0][4] result['restaurantInfo']['hours'] = ast.literal_eval(item[0][0][5]) result['restaurantInfo']['stars'] = item[0][0][6] result['restaurantInfo']['attributes'] = ast.literal_eval(item[0][0][7]) result['restaurantInfo']['categories'] = ast.literal_eval(item[0][0][8]) print result['restaurantInfo'] result['restaurantInfo']['photos'] = [] if(len(item) > 1): result['restaurantInfo']['photos'] = [str( photo[3] )+'.jpg' for photo in item[1]] result['featuresInfo'] = featuresInfo except: e = sys.exc_info()[0] print e return jsonify(result)
def SearchItemsByFeatures(): try: featuresList = request.args.get("features") args = "?features={0}".format(featuresList) url = getEngineUrl() + "/querysearchitemsbyfeatures" + args dataItemAndFeatures = urllib2.urlopen(url).read() info = ast.literal_eval(dataItemAndFeatures) areaSearch = True try: slat = request.args.get("lat") slng = request.args.get("lng") sradius = request.args.get("radius") flat = float(slat) flng = float(slng) fradius = float(sradius) args = "?lat={0}&lon={1}&distance={2}".format(flat, flng, fradius / (1.60934 * 1000)) url = getEngineUrl() + "/querygetitems" + args itemsInStrArr = urllib2.urlopen(url).read() items = ast.literal_eval(itemsInStrArr) itemsInSelectedArea = [i["id"] for i in items["items"]] itemsWithFeatures = [i["id"] for i in info["items"]] merge = list(set(itemsWithFeatures).intersection(itemsInSelectedArea)) arr = [] for item in info["items"]: if item["id"] in merge: arr.append(item) info["items"] = arr except: areaSearch = False itemsIds = [str(item["id"]) for item in info["items"]] itemsList = ",".join(itemsIds) print itemsList args = "?items={0}&features={1}".format(itemsList, featuresList) url = getEngineUrl() + "/querygetitemswithfeatures" + args itemsInStrArr = urllib2.urlopen(url).read() info["restauransFeaturesStatistic"] = ast.literal_eval(itemsInStrArr) print info except: e = sys.exc_info()[0] print e return jsonify(info)
def GetAllItems(): try: url = getEngineUrl() + "/querygetallitems" itemsInStrArr = urllib2.urlopen(url).read() items = ast.literal_eval(itemsInStrArr) except: e = sys.exc_info()[0] print e return jsonify({'items': items})
def GetFeatureByItemsId(): try: itemsStr = request.args.get("items", "") args = "?items={0}".format(itemsStr) url = getEngineUrl() + "/querygetfeaturesbyitemsid" + args featuresInStrArr = urllib2.urlopen(url).read() features = ast.literal_eval(featuresInStrArr) except: e = sys.exc_info()[0] print e return jsonify({"features": features})
def GetAllFeatures(): try: url = getEngineUrl() + "/querygetallfeatures" itemsInStrArr = urllib2.urlopen(url).read() items = ast.literal_eval(itemsInStrArr) print items except: e = sys.exc_info()[0] print e return jsonify({"features": sorted(items, key=lambda x: x[0])})
def GetReviewSentencesById(): try: id = request.args.get('id', '') args = '?id={0}'.format(id) url = getEngineUrl()+"/querygetreviewsentencesbyid"+args itemsInStrArr = urllib2.urlopen(url).read() items = ast.literal_eval(itemsInStrArr) except: e = sys.exc_info()[0] print e return jsonify(items)
def GetItemsIdByFeatureList(): try: featureList = request.args.get("featurelist") args = "?featurelist={0}".format(featureList) url = getEngineUrl() + "/querygetitemsidbyfeaturelist" + args itemsInStrArr = urllib2.urlopen(url).read() items = ast.literal_eval(itemsInStrArr) except: e = sys.exc_info()[0] print e return jsonify({"items": items})
def getItemsWithfeatures(): try: items = request.args.get("items", "") features = request.args.get("features", "") args = "?items={0}&features={1}".format(items, features) url = getEngineUrl() + "/querygetitemswithfeatures" + args itemsInStrArr = urllib2.urlopen(url).read() items = ast.literal_eval(itemsInStrArr) except: e = sys.exc_info()[0] print e return jsonify({"items": items})
def getFeatureNearMe(): try: lat = request.args.get('lat', '') lon = request.args.get('lon', '') distance = request.args.get('distance', '') args = '?lat={0}&lon={1}&distance={2}'.format(lat,lon,distance) url = getEngineUrl()+"/querygetfeatures"+args featuresInStrArr = urllib2.urlopen(url).read() features = ast.literal_eval(featuresInStrArr) except: e = sys.exc_info()[0] print e return jsonify({'features':features})
def GetFeatureInfo(): try: featuresList = request.args.get("featureId") args = "?featureId={0}".format(featuresList) url = getEngineUrl() + "/querygetfeatureinfo" + args feautreInfo = urllib2.urlopen(url).read() info = ast.literal_eval(feautreInfo) items = info["items"] print items itemsinfo = {} for item in items: data = sourceDBProvider.GetRestaurantInfo([item]) if len(data) > 0 and len(data[0]) > 0: itemsinfo[item] = data[0][0] info["items"] = itemsinfo except: print "error in getfeatureinfo" e = (sys.exc_info)[0] print e return jsonify(info)
from QueryRestaurantUI import app from flask import render_template from flask import jsonify from flask import Flask from flask import request from connector import getEngineUrl import urllib2 import ast print getEngineUrl() @app.route('/getitemsnearme', methods=['GET', 'POST']) def getItemsNearMe(): try: lat = request.args.get('lat', '') lon = request.args.get('lon', '') distance = request.args.get('distance', '') args = '?lat={0}&lon={1}&distance={2}'.format(lat,lon,distance) url = getEngineUrl()+"/querygetitems"+args itemsInStrArr = urllib2.urlopen(url).read() items = ast.literal_eval(itemsInStrArr) except: e = sys.exc_info()[0] print e return jsonify({'items':items}) @app.route('/getfeaturesnearme', methods=['GET', 'POST']) def getFeatureNearMe():