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)