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 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 = [] | 
