summaryrefslogtreecommitdiff
path: root/ishtar_common/models_imports.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r--ishtar_common/models_imports.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index a8866568b..a935c0e21 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1358,6 +1358,7 @@ def convert_geom(feature, srid):
if not feature:
return feature
srid = int(srid)
+ feature = dict(feature)
geo_type = feature["type"]
if geo_type in ("LineString", "Polygon"):
feature["type"] = "Multi" + geo_type
@@ -2269,7 +2270,8 @@ class Import(BaseImport):
if self.number_of_line:
return self.number_of_line
imported_values = self.get_imported_values()
- if (not imported_values or not imported_values.path or not imported_values.path.endswith(".csv")) \
+ if (not imported_values or not imported_values.path
+ or not imported_values.path.endswith(".csv")) \
and self.importer_type.type == "gis":
return self._data_table_gis(get_number_only=True)
if not imported_values or not imported_values.path:
@@ -2278,8 +2280,11 @@ class Import(BaseImport):
encodings = [self.encoding]
encodings += [coding for coding, c in ENCODINGS if coding != self.encoding]
for encoding in encodings:
+ options = {}
+ if encoding:
+ options["encoding"] = encoding
try:
- with open(filename, "r", encoding=encoding) as f:
+ with open(filename, "r", **options) as f:
reader = csv.reader(f, delimiter=self.csv_sep)
nb = sum(1 for __ in reader) - self.skip_lines
except UnicodeDecodeError:
@@ -2517,6 +2522,8 @@ class Import(BaseImport):
# https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6
elif crs.startswith("+init=epsg:"):
srid = crs[len("+init=epsg:"):]
+ elif crs.lower().startswith("epsg:"):
+ srid = crs[len("epsg:"):]
else:
srid = CRS.from_proj4(crs).to_epsg()
data = []