def dotransform(request, response): r = geoip(request.value) if r is not None: if 'error' in r: response += UIMessage(r['error']) return response locname = '' cityf = None countryf = None if 'city' in r: locname += r['city'] cityf = r['city'] if 'countryName' in r: locname += ', %s' % r['countryName'] countryf = r['countryName'] e = Location(locname) if 'longitude' in r and 'latitude' in r: e.longitude = r['longitude'] e.latitude = r['latitude'] link = maplink(r) e += Label('Map It', A(link, link), type='text/html') if 'region' in r: e.area = r['region'] if cityf is not None: e.city = cityf if countryf is not None: e.country = countryf e.iconurl = flag(countryf) if 'countryCode' in r: e.countrycode = r['countryCode'] if e.iconurl is None: e.iconurl = flag(r['countryCode']) response += e return response
def getlocbymac(mac): ll = geomac(mac) gcr = reversegeo(ll['latitude'], ll['longitude'])[0] l = Location('-, -') l.city = '-' l.country = '-' for i in gcr['address_components']: if 'locality' in i['types']: l.city = i['long_name'] if 'administrative_area_level_1' in i['types']: l.area = i['long_name'] if 'country' in i['types']: l.country = i['long_name'] l.latitude = gcr['geometry']['location']['lat'] l.longitude = gcr['geometry']['location']['lng'] l.value = '%s, %s' % (l.city, l.country) return l
def getlocs(response, data): for loc in data: l = loc['place']['location'] e = Location('%s, %s' % (l.get('city', ''), l.get('country', ''))) if 'country' in l: e.country = l['country'] if 'city' in l: e.city = l['city'] if 'state' in l: e.area = l['state'] if 'longitude' in l and 'latitude' in l: e.longitude = l['longitude'] e.latitude = l['latitude'] sa = '' if 'name' in loc['place']: sa = loc['place']['name'] if 'street' in l: sa += ', %s' % l['street'] if 'zip' in l: sa += ', %s' % l['zip'] e += Field('streetaddress', sa) response += e