def address_lookup(**kwargs): print 'Trying USPS first...' address = usps.usps_address_lookup(**kwargs) if address['city'] is not '' and address['state'] is not '': return address print 'Falling back to geolocation...' try: lat, lng = geolocate(**kwargs) return reverse_geolocate(lat, lng).address() except: return None
def address_lookup(**kwargs): try: print 'Trying USPS first...' address = usps.usps_address_lookup(**kwargs) if address['city'] is not '' and address['state'] is not '': return address print 'Falling back to geolocation...' lat, lng = geolocate(**kwargs) return reverse_geolocate(lat, lng).address() except: return None
def zip4_lookup(street_address, city, state, zip5=''): # First try usps lookup because it doesn't eat up geolocation credits try: print "Trying USPS first" zip5, zip4 = usps.usps_zip_lookup(street_address, city, state, zip5) if zip4 is not None: return zip4 except: print "Error scraping from USPS ... moving on to geocoding" # If USPS is unable to determine zip4 then use geolocation method print "Falling back to geolocation" try: lat, lng = geolocate(street_address=street_address, city=city, state=state, zip5=zip5) return reverse_geolocate(lat, lng).zip4() except: # Give up. User must enter in their zip4 manually. return None
def determine_district(**kwargs): sunlight.config.API_KEY = settings.SUNLIGHT_API_KEY if {'latitude', 'longitude'}.issubset(set(kwargs)): data = sunlight.congress.locate_districts_by_lat_lon(kwargs.get('latitude'), kwargs.get('longitude')) elif 'zip5' in kwargs: data = sunlight.congress.locate_districts_by_zip(kwargs.get('zip5')) if data.count > 1 and {'street_address', 'city', 'state'}.issubset(set(kwargs)): lat, lng = geolocate(street_address=kwargs.get('street_address'), city=kwargs.get('city'), state=kwargs.get('state'), zip5=kwargs.get('zip5')) data = sunlight.congress.locate_districts_by_lat_lon(lat,lng) else: return None else: raise KeyError('Must provide appropriate keyword arguments') return data[0]['district']
def determine_district(**kwargs): sunlight.config.API_KEY = settings.SUNLIGHT_API_KEY if {'latitude', 'longitude'}.issubset(set(kwargs)): data = sunlight.congress.locate_districts_by_lat_lon( kwargs.get('latitude'), kwargs.get('longitude')) elif 'zip5' in kwargs: data = sunlight.congress.locate_districts_by_zip(kwargs.get('zip5')) print data if data is not None and len(data) > 1 and { 'street_address', 'city', 'state' }.issubset(set(kwargs)): lat, lng = geolocate(street_address=kwargs.get('street_address'), city=kwargs.get('city'), state=kwargs.get('state'), zip5=kwargs.get('zip5')) data = sunlight.congress.locate_districts_by_lat_lon(lat, lng) else: raise KeyError('Must provide appropriate keyword arguments') try: return data[0] except: return None