def validate(self, values):
        gazetteer = set()
        with open(join(GAZDIR, 'county_names.csv'), 'rb') as f:
            reader = csv.reader(f)
            for row in reader:
                gazetteer.add(row[0].lower())
        vals = set()
        for val in values:
            val = val.lower()
            if 'county' not in val:
                val = u'{0} county'.format(val)
            vals.add(val)
        if vals <= gazetteer:
            return True, None
        else:
            diffs = vals - gazetteer
            return False, u'"{0}" do not appear to be valid Counties'\
                .format(u', '.join(diffs))
Uses the US Census 2014 County Gazetteer.
dataset/ETHPy150Open associatedpress/geomancer/geomancer/mancers/geotype.py/County.validate