diff options
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r-- | ishtar_common/models_imports.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 3e8914d8d..60c5812b4 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 @@ -2268,7 +2269,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: @@ -2277,8 +2279,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: @@ -2516,6 +2521,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 = [] |