def _street(usrn): streets = llist(mongo.db.street.find({'street': usrn})) street = latest(streets) return render_template("street.html", street=street, streets=streets, addresses=addresses('street', usrn))
def main(): s = streets() a = addresses() c = communities() thestreets = s.getall() print "[INFO ] Trying to geocode {0} streets ...".format(len(thestreets)) for street in thestreets: _sid,rawname,_name,_streettype,cid = street _cid,community,hrid = c.get(cid) badcount = 0 for num in range(1,4096): _addr = "{0} {1}, {2}, Monroe County, NY".format(num,rawname,community) if a.checkexists(_addr) == False: result = geocodemq(_addr) valid,fulladdress,lat,lng,zipcode,streetnumber,route,locality,state,country = pulldatamq(result) if valid == True: a.add(_addr,fulladdress,num,route,_streettype,zipcode,community,locality,"Monroe County","New York","NY",lat,lng) print "[INFO ] Added: {0}".format(fulladdress) else: badcount += 1 else: print "[INFO ] Ignoring duplicate address" if badcount == 16: print "[WARNING] 16 bad street numbers in a row, giving up on street." break print "[INFO ] Done!"
def addcrime(crime,rawaddress,city,department,crimedate,crimetime): c = crimes() a = addresses() _crimetime = crimetime.split('-')[0].split(' ')[0] _ampm = crimetime.split('-')[0].split(' ')[1] if _ampm == "p.m.": _crimetime = "{0}:{1}:00".format(int(_crimetime.split(':')[0])+12,_crimetime.split(':')[1]) d = crimedate.split('/') _crimedate = "{0}-{1}-{2}".format(d[2],d[0],d[1]) fulladdress = "" lat = 0 lng = 0 zipcode = "" if True: #if c.checkexists(crime,rawaddress,city,department,_crimedate,_crimetime) == False: valid,fulladdress,lat,lng,zipcode = a.getbyrawaddress(rawaddress) if valid == False: _address = "{0}, {1}, NY".format(rawaddress,city) _json = geocodemq(_address) _fulladdress,lat,lng,zipcode = pulldata(_json) fulladdress = "{0}{1}".format(rawaddress,_fulladdress) #if(crimedate.split('/')[2] == "2013"): #json = geocode("{0},{1}, NY".format(rawaddress,city)) #f _json['status'] != 'OK': # raise Exception("Google API says 'NO MORE!'") #ulladdress = _json['results'][0]['formatted_address'] #at = _json['results'][0]['geometry']['location']['lat'] #ng = _json['results'][0]['geometry']['location']['lng'] #ipcode = "" #or comp in _json['results'][0]['address_components']: # if comp['types'][0] == "postal_code": # zipcode = comp['long_name'] # break print "adding: {0},{1},{2},{3},{4},{5},{6},{7},{8},{9}".format(crime,rawaddress,fulladdress,lat,lng,zipcode,city,department,_crimedate,_crimetime) c.add(crime,rawaddress,fulladdress,lat,lng,zipcode,city,department,_crimedate,_crimetime) a.add(rawaddress,fulladdress,lat,lng,zipcode) else: print "crime already saved, ignoring ({0},{1},{2},{3},{4},{5},{6},{7},{8},{9})".format(crime,rawaddress,fulladdress,lat,lng,zipcode,city,department,_crimedate,_crimetime) raise Exception("Debug, Stop.")
def _addresses_name(name): return render_template("addresses.html", name=name, addresses=addresses('name', name.upper()))