sanitized_agencies_to_court[sanitized_agency] = court_name
            break

for agency in agencies_to_court:
    if agencies_to_court[agency] is None:
        sanitized_agency = sanitize_agency(agency)
        if sanitized_agency in sanitized_agencies_to_court:
            print 'FOUND SANITIZED AGENCY'
            agencies_to_court[agency] = sanitized_agencies_to_court[
                sanitized_agency]
        geocoder = 'OSM'
        location = geolocator_osm.geocode(sanitized_agency + ', Virginia, USA')
        if location is None:
            print agency, 'GEOCODING FAILED'
            continue
        nearest_court = Database.get_closest_court('circuit', \
                            location.latitude, location.longitude)
        print agency, 'GEOCODED BY', geocoder, nearest_court['name']
        agencies_to_court[agency] = nearest_court['name']
        sanitized_agencies_to_court[sanitized_agency] = nearest_court['name']

fieldnames.append('courtName')
with open(sys.argv[1]) as csvinfile:
    with open(sys.argv[1] + 'out.csv', 'w') as csvoutfile:
        reader = csv.DictReader(csvinfile)
        writer = csv.DictWriter(csvoutfile, fieldnames=fieldnames)
        writer.writeheader()
        for row in reader:
            row['courtName'] = None
            if row['agency'] in agencies_to_court:
                row['courtName'] = agencies_to_court[row['agency']]
            writer.writerow(row)