misc/shp_normalizer.py in cartodb-importer-0.2.6 vs misc/shp_normalizer.py in cartodb-importer-0.2.7

- old
+ new

@@ -37,21 +37,23 @@ webres = urlopen('http://prj2epsg.org/search.json', query) jres = json.loads(webres.read()) if jres['codes']: srid = int(jres['codes'][0]['code']) -#Try to detect the encoding -dbf = open(dbf_file, 'rb') -db = dbfUtils.dbfreader(dbf) - -detector = UniversalDetector() -for row in db: - detector.feed(str(row)) - if detector.done: break -detector.close() -dbf.close() - -encoding = detector.result["encoding"] -if encoding=="ascii": - encoding="LATIN1" +try: + #Try to detect the encoding + dbf = open(dbf_file, 'rb') + db = dbfUtils.dbfreader(dbf) + detector = UniversalDetector() + for row in db: + detector.feed(str(row)) + if detector.done: break + detector.close() + dbf.close() + encoding = detector.result["encoding"] + if encoding=="ascii": + encoding="LATIN1" +except: + #if encoding detection fails, attempt default UTF8 + encoding = "UTF8" print "%s,%s,%s,%s" % (srid,encoding,shp_file,name)