def index(): # Create database connection con = con_db(host, port, user, passwd, db) # Add custom filter to jinja2 env jinja2.filters.FILTERS['format_currency'] = format_currency var_dict = { "home": request.args.get("home"), "year_built": request.args.get("year_built", '0'), "zip_code": request.args.get("zip_code", '0'), "list_price": request.args.get("list_price", '0'), "beds": request.args.get("beds", '0'), "baths": request.args.get("baths", '0'), "sqft": request.args.get("sqft", '0'), "dom": request.args.get("dom", '0'), "parking": request.args.get("parking", '0'), "prediction": request.args.get("prediction", '0'), "bike_score": request.args.get("bike_score", '0'), "transit_score": request.args.get("transit_score", '0'), "walk_score": request.args.get("walk_score", '0'), "order_by": request.args.get("order_by", "edu_index"), "sort": request.args.get("sort", "DESC") } # Query the database data = query_db(con, var_dict) # Add data to dictionary var_dict["data"] = data return render_template('index.html', settings=var_dict)
def test(): # Create database connection con = con_db(host, port, user, passwd, db) # Add custom filter to jinja2 env jinja2.filters.FILTERS['format_currency'] = format_currency var_dict = { "home": request.args.get("home"), "year_built": request.args.get("year_built", '0'), "zip_code": request.args.get("zip_code", '0'), "list_price": request.args.get("list_price", '0'), "min_list_price": request.args.get("min_list_price", '0'), "max_list_price": request.args.get("max_list_price", '2000000'), "beds": request.args.get("beds", '0'), "baths": request.args.get("baths", '0'), "sqft": request.args.get("sqft", '0'), "dom": request.args.get("dom", '0'), "parking": request.args.get("parking", '0'), "prediction": request.args.get("prediction", '0'), "bike_score": request.args.get("bike_score", '0'), "transit_score": request.args.get("transit_score", '0'), "walk_score": request.args.get("walk_score", '0'), "order_by": request.args.get("order_by", "difference"), "sort": request.args.get("sort", "ASC") } # Query the database data = query_db(con, var_dict) # Add data to dictionary var_dict["data"] = data # Renders home.html. return render_template('test.html', settings=var_dict)
def stats(): con = con_db(host, port, user, passwd, db) output={} jfile='./app/static/snob.json' fobj=open(jfile) jobj=simplejson.load(fobj) fobj.close() data=getstatspageinfo(con,jobj) output['rawcount']=data['rawcount'] output['data']=data['data'] return render_template('stats.html',settings=output)
def index(): con = con_db(host, port, user, passwd, db) cur = con.cursor() query = """ SELECT cat, COUNT(cat) FROM fmlist WHERE cat != 'SILENT' GROUP BY cat HAVING COUNT(cat) > 100 ORDER BY cat """ cur.execute(query) results = cur.fetchall() genres, counts = zip(*results) # Look to see if we failed the previous query failed = request.args.get("failed") # Renders index.html. return render_template('index.html', genres=genres, failed=failed)
def process(): #input_string = request.form['input-name'] #print request.form #This request has the data from the form in home.html #user_cat = request.form['category'] userTitle = request.form['input-name'] userCat = request.form['category'] # Create database connection con = con_db(host, port, user, passwd, db) # Add custom filter to jinja2 env jinja2.filters.FILTERS['format_currency'] = format_currency var_dict_whole = { "category": request.args.get("category"), "goal": request.args.get("goal", '0'), "tshirt": request.args.get("tshirt", '0'), "nlinks": request.args.get("nlinks", '0'), "order_by": request.args.get("order_by", "goal"), "sort": request.args.get("sort", "DESC") } var_dict = { "category": request.args.get("category"), "goal": request.args.get("goal", '0'), "tshirt": request.args.get("tshirt", '0'), "nlinks": request.args.get("nlinks", '0'), "order_by": request.args.get("order_by", "goal"), "sort": request.args.get("sort", "DESC") } # Query the database data = query_db(con, var_dict_whole, usercat=user_cat) # data_for_sort = query_db_usercat(con, var_dict, user_cat) # Add data to dictionary #var_dict["data"] = data_for_sort var_dict_whole["data"]=data # return render_template('process.html', form = request.form) return render_template('process.html', settings=var_dict, sort_settings=var_dict_whole)
def showresults(): city = request.form['city']; con = con_db(host, port, user, passwd, db) var_dict = { "city": city } # Query the database data = query_db(con, var_dict) # Add data to dictionary var_dict["data"] = data # get similarity data if data: simdata= getSimdata(con,data[0]["regionid"]) else: simdata=[] var_dict["simdata"]=simdata return jsonify(var_dict)
def index(): # Create database connection con = con_db(host, port, user, passwd, db) # Add custom filter to jinja2 env jinja2.filters.FILTERS['format_currency'] = format_currency var_dict = { "country": request.args.get("country"), "edu_index": request.args.get("edu_index", '0'), "median_age": request.args.get("median_age", '0'), "gdp": request.args.get("gdp", '0'), "order_by": request.args.get("order_by", "edu_index"), "sort": request.args.get("sort", "DESC") } # Query the database data = query_db(con, var_dict) # Add data to dictionary var_dict["data"] = data return render_template('world.html', settings=var_dict)
def poplist(): con = con_db(host, port, user, passwd, db) output={} output['data']=getcitylist(con) return jsonify(output)
def showcountmap(): con = con_db(host, port, user, passwd, db) output={} output['data']=outputRegionPoints(con) return jsonify(output)
def out(): # WORK!! timer = Timer() # Create database connection con = con_db(host, port, user, passwd, db) var_dict = { "origin": request.args.get("origin"), "destination": request.args.get("destination"), "genre": request.args.get("genre", ''), "subgenre": request.args.get("subgenre", ''), "failed": request.args.get("failed") } # Fail gracefully if not var_dict['origin'] or not var_dict['destination']: cur = con.cursor() query = """ SELECT cat, COUNT(cat) FROM fmlist WHERE cat != 'SILENT' GROUP BY cat HAVING COUNT(cat) > 100 ORDER BY cat """ cur.execute(query) results = cur.fetchall() genres, counts = zip(*results) return render_template('index.html', failed=True, genres=genres) # Get google directions. directions = get_directions(var_dict['origin'], var_dict['destination']) timer('Finished directions JSON call') bbox = get_bounding_box(directions) var_dict['bbox'] = bbox route, durations = get_route_from_directions(directions) timer('Finished getting route from directions') print "--> Route has %d nodes" % len(route) var_dict['route'] = route # HEAVY LIFTING: Split the route into radio stations route_tunes = find_radio_stations(con, route, var_dict) timer('Finished db query to find antennas') print "--> %d nodes don't seem to have a station" % (len([i for i in route_tunes if i is None])) # Create colored legs for the route. grouped_nodes = consolidate_tunes(route, route_tunes, durations) var_dict['legs'] = grouped_nodes timer('Finished consolidation of towers') # Great. Add colors assign_colors(grouped_nodes) # Add contours to the map javascript_contours = render_contours(grouped_nodes) var_dict['contour_js'] = javascript_contours # Add the legs to the map. They will be on top of contours javascript_legs = render_legs(grouped_nodes) var_dict['route_js'] = javascript_legs timer('Finished creating js') javascript_legs_and_contours = render_contours_and_legs(grouped_nodes) var_dict['leg_and_contour_js'] = javascript_legs_and_contours # Close db connection. con.close() #print var_dict.keys() #print var_dict['genre'] # Render the template w/ user input, query result, and figure included! return render_template('output.html', settings=var_dict)
def show_contour(): # Just show a contour. con = con_db(host, port, user, passwd, db) cur = con.cursor() var_dict = { "scs": request.args.get("scs", None), "genre": request.args.get("genre", None), } if var_dict['scs'] and var_dict['genre']: where_str = 'WHERE scs = "%s" AND cat = "%s"' % (var_dict['scs'], var_dict['genre']) elif var_dict['scs']: where_str = 'WHERE scs = "%s" ' % (var_dict['scs']) elif var_dict['genre']: where_str = 'WHERE cat = "%s"' % (var_dict['genre']) else: where_str = '' base_query = """ SELECT b.antlon, b.antlat, b.scs, map.cat, b.lons, b.lats FROM contours b JOIN contour_cat_map map ON b.id = map.contour_id {0} """ query = base_query.format( where_str ) cur.execute(query) route_results = [] raw_results = cur.fetchall() import numpy as np if len(raw_results) == 0: return None results = zip(*raw_results) antlons = np.array(results[0], dtype=float) antlats = np.array(results[1], dtype=float) scss = np.array(results[2]) cats = np.array(results[3]) contour_lons = [np.fromstring(i, sep=',') for i in results[4]] contour_lats = [np.fromstring(i, sep=',') for i in results[5]] contours = zip(contour_lons, contour_lats) #print contours[0] var_dict['scss'] = scss var_dict['contours'] = contours def good_contour_to_js(lats, lons, scs): list_of_LatLngs = [] for i in xrange(len(lats)): list_of_LatLngs.append('new google.maps.LatLng(%f, %f)'%(lats[i], lons[i])) LatLngs = ','.join(list_of_LatLngs) js = """ var paths = [{0}]; var shape = new google.maps.Polygon({{ paths: paths, strokeColor: '#ff0000', strokeOpacity: 0.8, strokeWeight: 2, fillColor: '#ff0000', fillOpacity: 0.15 }}); shape.setMap(map); var infoWindow = new google.maps.InfoWindow({{paths: paths}}); google.maps.event.addListener(shape, 'click', (function(shape) {{ return function() {{ infoWindow.setContent('{2}'); infoWindow.setPosition( this.paths[0] ); infoWindow.open(map); }} }})(shape)); """.format( LatLngs, scs, get_wiki_table(scs)) return js def get_wiki_table(page): return page import urllib2 from bs4 import BeautifulSoup url = 'http://en.wikipedia.org/wiki/'+page try: bs = BeautifulSoup(urllib2.urlopen(url).read()) except: return page table = bs.find('table', attrs={'class':'infobox vcard'}) return str(table).decode("ascii", "ignore").replace("\n", "").replace("'", "\\'") js = [] for i in xrange(len(contour_lons)): js.append( good_contour_to_js(contour_lats[i], contour_lons[i], scss[i])) var_dict['js'] = "\n".join(js) #print len(contours) return render_template('contour.html', settings = var_dict)
def show_contour(): # Just show a contour. con = con_db(host, port, user, passwd, db) cur = con.cursor() var_dict = { "scs": request.args.get("scs", None), "genre": request.args.get("genre", None), } if var_dict['scs'] and var_dict['genre']: where_str = 'WHERE scs = "%s" AND cat = "%s"' % (var_dict['scs'], var_dict['genre']) elif var_dict['scs']: where_str = 'WHERE scs = "%s" ' % (var_dict['scs']) elif var_dict['genre']: where_str = 'WHERE cat = "%s"' % (var_dict['genre']) else: where_str = '' base_query = """ SELECT b.antlon, b.antlat, b.scs, map.cat, b.lons, b.lats FROM contours b JOIN contour_cat_map map ON b.id = map.contour_id {0} """ query = base_query.format(where_str) cur.execute(query) route_results = [] raw_results = cur.fetchall() import numpy as np if len(raw_results) == 0: return None results = zip(*raw_results) antlons = np.array(results[0], dtype=float) antlats = np.array(results[1], dtype=float) scss = np.array(results[2]) cats = np.array(results[3]) contour_lons = [np.fromstring(i, sep=',') for i in results[4]] contour_lats = [np.fromstring(i, sep=',') for i in results[5]] contours = zip(contour_lons, contour_lats) #print contours[0] var_dict['scss'] = scss var_dict['contours'] = contours def good_contour_to_js(lats, lons, scs): list_of_LatLngs = [] for i in xrange(len(lats)): list_of_LatLngs.append('new google.maps.LatLng(%f, %f)' % (lats[i], lons[i])) LatLngs = ','.join(list_of_LatLngs) js = """ var paths = [{0}]; var shape = new google.maps.Polygon({{ paths: paths, strokeColor: '#ff0000', strokeOpacity: 0.8, strokeWeight: 2, fillColor: '#ff0000', fillOpacity: 0.15 }}); shape.setMap(map); var infoWindow = new google.maps.InfoWindow({{paths: paths}}); google.maps.event.addListener(shape, 'click', (function(shape) {{ return function() {{ infoWindow.setContent('{2}'); infoWindow.setPosition( this.paths[0] ); infoWindow.open(map); }} }})(shape)); """.format(LatLngs, scs, get_wiki_table(scs)) return js def get_wiki_table(page): return page import urllib2 from bs4 import BeautifulSoup url = 'http://en.wikipedia.org/wiki/' + page try: bs = BeautifulSoup(urllib2.urlopen(url).read()) except: return page table = bs.find('table', attrs={'class': 'infobox vcard'}) return str(table).decode("ascii", "ignore").replace("\n", "").replace("'", "\\'") js = [] for i in xrange(len(contour_lons)): js.append(good_contour_to_js(contour_lats[i], contour_lons[i], scss[i])) var_dict['js'] = "\n".join(js) #print len(contours) return render_template('contour.html', settings=var_dict)
import os from flask import Flask, render_template, request, jsonify from app import app, host, port, user, passwd, db from app.helpers.database import con_db import sys import ast import json import re from find_similarity3 import find_companies from operator import itemgetter conn = con_db("localhost", 3306, "root", "1234", "Venturenetwork16") # ROUTING/VIEW FUNCTIONS @app.route('/') @app.route('/index') def index(): #testing cursor/SQLconnection here. cur = conn.cursor() cur.execute('SELECT * FROM Investor_comp;') rs = [] for r in cur: print r rs.append(str(r)) cur.close() return '\n'.join(rs) @app.route('/api/users/<investorID>') #this seems to work
def get_db(): '''Open new connection to db''' if not hasattr(g, 'mysql_db'): g.mysql_db = con_db(host, port, user, passwd, db) return g.mysql_db
def out(): # WORK!! timer = Timer() # Create database connection con = con_db(host, port, user, passwd, db) var_dict = { "origin": request.args.get("origin"), "destination": request.args.get("destination"), "genre": request.args.get("genre", ''), "subgenre": request.args.get("subgenre", ''), "failed": request.args.get("failed") } # Fail gracefully if not var_dict['origin'] or not var_dict['destination']: cur = con.cursor() query = """ SELECT cat, COUNT(cat) FROM fmlist WHERE cat != 'SILENT' GROUP BY cat HAVING COUNT(cat) > 100 ORDER BY cat """ cur.execute(query) results = cur.fetchall() genres, counts = zip(*results) return render_template('index.html', failed=True, genres=genres) # Get google directions. directions = get_directions(var_dict['origin'], var_dict['destination']) timer('Finished directions JSON call') bbox = get_bounding_box(directions) var_dict['bbox'] = bbox route, durations = get_route_from_directions(directions) timer('Finished getting route from directions') print "--> Route has %d nodes" % len(route) var_dict['route'] = route # HEAVY LIFTING: Split the route into radio stations route_tunes = find_radio_stations(con, route, var_dict) timer('Finished db query to find antennas') print "--> %d nodes don't seem to have a station" % (len( [i for i in route_tunes if i is None])) # Create colored legs for the route. grouped_nodes = consolidate_tunes(route, route_tunes, durations) var_dict['legs'] = grouped_nodes timer('Finished consolidation of towers') # Great. Add colors assign_colors(grouped_nodes) # Add contours to the map javascript_contours = render_contours(grouped_nodes) var_dict['contour_js'] = javascript_contours # Add the legs to the map. They will be on top of contours javascript_legs = render_legs(grouped_nodes) var_dict['route_js'] = javascript_legs timer('Finished creating js') javascript_legs_and_contours = render_contours_and_legs(grouped_nodes) var_dict['leg_and_contour_js'] = javascript_legs_and_contours # Close db connection. con.close() #print var_dict.keys() #print var_dict['genre'] # Render the template w/ user input, query result, and figure included! return render_template('output.html', settings=var_dict)