def geocode_user(user): formats = ( '%(housenumber)s,%(street)s,%(city)s,%(country)s', '%(housenumber)s,%(street)s,%(country)s', '%(street)s,%(city)s,%(country)s', '%(street)s,%(country)s', ) address = get_address_parts(user) lat = lng = None for f in formats: lat, lng = geocode(f % address) if lat and lng: break return lat,lng