Skip to content

Commit 883f933

Browse files
[Fixes #12657] Align supported_file_extension_config with the new client configuration (#12673)
* [Fixes #12657] Rename ACTIONS into TASKS * [Fixes #12657] Refactor supported types * [Fixes #12657] Refactor supported types * [Fixes #12657] Refactor supported type, fix data retriever and refactor handlers configuration * [Fixes #12657] Refactor supported type, fix data retriever and refactor handlers configuration * [Fixes #12657] Refactor supported type, fix data retriever and refactor handlers configuration * [Fixes #12657] Refactor supported type, fix data retriever and refactor handlers configuration * [Fixes #12657] Refactor supported type, fix data retriever and refactor handlers configuration * [Fixes #12657] Refactor supported type, fix data retriever and refactor handlers configuration
1 parent 8d58004 commit 883f933

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+443
-513
lines changed

geonode/geoserver/management/commands/importlayers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ def execute(self):
149149
params[name] = os.path.basename(value.name)
150150

151151
params["non_interactive"] = 'true'
152+
params["action"] = 'upload'
152153
response = client.post(
153154
urljoin(self.host, "/api/v2/uploads/upload/"),
154155
auth=HTTPBasicAuth(self.username, self.password),

geonode/resource/api/tests.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,7 @@ def test_endpoint_should_raise_error_if_pk_is_not_passed(self):
157157

158158
def test_endpoint_should_return_the_source(self):
159159
# creating dummy execution request
160-
obj = ExecutionRequest.objects.create(
161-
user=self.superuser, func_name="import_new_resource", action="import", source="upload_workflow"
162-
)
160+
obj = ExecutionRequest.objects.create(user=self.superuser, func_name="import_new_resource", action="upload")
163161
self.client.force_login(self.superuser)
164162

165163
_url = f"{reverse('executionrequest-list')}/{obj.exec_id}"

geonode/resource/enumerator.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
class ExecutionRequestAction(enum.Enum):
2424
IMPORT = _("import")
25+
UPLOAD = _("upload")
2526
CREATE = _("create")
2627
COPY = _("copy")
2728
DELETE = _("delete")
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Generated by Django 4.2.9 on 2024-10-18 10:41
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("resource", "0008_executionrequest_source"),
10+
]
11+
12+
operations = [
13+
migrations.RemoveField(
14+
model_name="executionrequest",
15+
name="source",
16+
),
17+
migrations.AlterField(
18+
model_name="executionrequest",
19+
name="action",
20+
field=models.CharField(
21+
choices=[
22+
("import", "import"),
23+
("upload", "upload"),
24+
("create", "create"),
25+
("copy", "copy"),
26+
("delete", "delete"),
27+
("permissions", "permissions"),
28+
("update", "update"),
29+
("ingest", "ingest"),
30+
("unknown", "unknown"),
31+
],
32+
default="unknown",
33+
max_length=50,
34+
null=True,
35+
),
36+
),
37+
]

geonode/resource/models.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,3 @@ class ExecutionRequest(models.Model):
6060
action = models.CharField(
6161
max_length=50, choices=ACTION_CHOICES, default=ExecutionRequestAction.UNKNOWN.value, null=True
6262
)
63-
64-
source = models.CharField(max_length=250, null=True, default=None)

geonode/security/tests.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -752,9 +752,7 @@ def test_dataset_permissions(self):
752752
bobby = get_user_model().objects.get(username="bobby")
753753

754754
self.client.force_login(get_user_model().objects.get(username="admin"))
755-
payload = {
756-
"base_file": open(f"{project_dir}/tests/fixture/valid.geojson", "rb"),
757-
}
755+
payload = {"base_file": open(f"{project_dir}/tests/fixture/valid.geojson", "rb"), "action": "upload"}
758756
response = self.client.post(reverse("importer_upload"), data=payload)
759757
layer = ResourceHandlerInfo.objects.filter(execution_request=response.json()["execution_id"]).first().resource
760758
if layer is None:

geonode/settings.py

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2240,56 +2240,6 @@ def get_geonode_catalogue_service():
22402240
"document_upload",
22412241
)
22422242

2243-
SUPPORTED_DATASET_FILE_TYPES = [
2244-
{
2245-
"id": "shp",
2246-
"label": "ESRI Shapefile",
2247-
"format": "vector",
2248-
"ext": ["shp"],
2249-
"requires": ["shp", "prj", "dbf", "shx"],
2250-
"optional": ["xml", "sld"],
2251-
},
2252-
{
2253-
"id": "tiff",
2254-
"label": "GeoTIFF",
2255-
"format": "raster",
2256-
"ext": ["tiff", "tif", "geotiff", "geotif"],
2257-
"mimeType": ["image/tiff"],
2258-
"optional": ["xml", "sld"],
2259-
},
2260-
{
2261-
"id": "csv",
2262-
"label": "Comma Separated Value (CSV)",
2263-
"format": "vector",
2264-
"ext": ["csv"],
2265-
"mimeType": ["text/csv"],
2266-
"optional": ["xml", "sld"],
2267-
},
2268-
{
2269-
"id": "zip",
2270-
"label": "Zip Archive",
2271-
"format": "archive",
2272-
"ext": ["zip"],
2273-
"mimeType": ["application/zip"],
2274-
"optional": ["xml", "sld"],
2275-
},
2276-
{
2277-
"id": "xml",
2278-
"label": "XML Metadata File",
2279-
"format": "metadata",
2280-
"ext": ["xml"],
2281-
"mimeType": ["application/json"],
2282-
"needsFiles": ["shp", "prj", "dbf", "shx", "csv", "tiff", "zip", "sld"],
2283-
},
2284-
{
2285-
"id": "sld",
2286-
"label": "Styled Layer Descriptor (SLD)",
2287-
"format": "metadata",
2288-
"ext": ["sld"],
2289-
"mimeType": ["application/json"],
2290-
"needsFiles": ["shp", "prj", "dbf", "shx", "csv", "tiff", "zip", "xml"],
2291-
},
2292-
]
22932243
INSTALLED_APPS += (
22942244
"dynamic_models",
22952245
# "importer",

geonode/storage/tests.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -573,23 +573,6 @@ def test_zip_file_should_correctly_index_file_extensions(self):
573573
# extensions found more than once get indexed
574574
self.assertIsNotNone(_files.get("csv_file_1"))
575575

576-
@override_settings(
577-
SUPPORTED_DATASET_FILE_TYPES=[
578-
{"id": "kmz", "label": "kmz", "format": "vector", "ext": ["kmz"]},
579-
{"id": "kml", "label": "kml", "format": "vector", "ext": ["kml"]},
580-
]
581-
)
582-
def test_zip_file_should_correctly_recognize_main_extension_with_kmz(self):
583-
# reinitiate the storage manager with the zip file
584-
storage_manager = self.sut(
585-
remote_files={"base_file": os.path.join(f"{self.project_root}", "tests/data/Italy.kmz")}
586-
)
587-
storage_manager.clone_remote_files()
588-
589-
self.assertIsNotNone(storage_manager.data_retriever.temporary_folder)
590-
_files = storage_manager.get_retrieved_paths()
591-
self.assertTrue("doc.kml" in _files.get("base_file"), msg=f"files available: {_files}")
592-
593576
def test_zip_file_should_correctly_recognize_main_extension_with_shp(self):
594577
# zipping files
595578
storage_manager = self.sut(remote_files=self.local_files_paths)

geonode/tests/test_utils.py

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#########################################################################
1919
import copy
2020
from unittest import TestCase
21-
from django.test import override_settings
2221

2322
from unittest.mock import patch
2423
from datetime import datetime, timedelta
@@ -32,8 +31,7 @@
3231
from geonode.geoserver.helpers import set_attributes
3332
from geonode.tests.base import GeoNodeBaseTestSupport
3433
from geonode.br.management.commands.utils.utils import ignore_time
35-
from geonode.utils import copy_tree, get_supported_datasets_file_types, bbox_to_wkt
36-
from geonode import settings
34+
from geonode.utils import copy_tree, bbox_to_wkt
3735

3836

3937
class TestCopyTree(GeoNodeBaseTestSupport):
@@ -205,39 +203,6 @@ def setUp(self):
205203
},
206204
]
207205

208-
@override_settings(
209-
ADDITIONAL_DATASET_FILE_TYPES=[
210-
{"id": "dummy_type", "label": "Dummy Type", "format": "dummy", "ext": ["dummy"]},
211-
]
212-
)
213-
def test_should_append_additional_type_if_config_is_provided(self):
214-
prev_count = len(settings.SUPPORTED_DATASET_FILE_TYPES)
215-
supported_types = get_supported_datasets_file_types()
216-
supported_keys = [t.get("id") for t in supported_types]
217-
self.assertIn("dummy_type", supported_keys)
218-
self.assertEqual(len(supported_keys), prev_count + 1)
219-
220-
@override_settings(
221-
ADDITIONAL_DATASET_FILE_TYPES=[
222-
{
223-
"id": "shp",
224-
"label": "Replaced type",
225-
"format": "vector",
226-
"ext": ["shp"],
227-
"requires": ["shp", "prj", "dbf", "shx"],
228-
"optional": ["xml", "sld"],
229-
},
230-
]
231-
)
232-
def test_should_replace_the_type_id_if_already_exists(self):
233-
prev_count = len(settings.SUPPORTED_DATASET_FILE_TYPES)
234-
supported_types = get_supported_datasets_file_types()
235-
supported_keys = [t.get("id") for t in supported_types]
236-
self.assertIn("shp", supported_keys)
237-
self.assertEqual(len(supported_keys), prev_count)
238-
shp_type = [t for t in supported_types if t["id"] == "shp"][0]
239-
self.assertEqual(shp_type["label"], "Replaced type")
240-
241206

242207
class TestRegionsCrossingDateLine(TestCase):
243208
def setUp(self):

geonode/upload/api/serializer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ class Meta:
3434
"sld_file",
3535
"store_spatial_files",
3636
"skip_existing_layers",
37-
"source",
37+
"action",
3838
)
3939

4040
base_file = serializers.FileField()
4141
xml_file = serializers.FileField(required=False)
4242
sld_file = serializers.FileField(required=False)
4343
store_spatial_files = serializers.BooleanField(required=False, default=True)
4444
skip_existing_layers = serializers.BooleanField(required=False, default=False)
45-
source = serializers.CharField(required=False, default="upload")
45+
action = serializers.CharField(required=True)
4646

4747

4848
class OverwriteImporterSerializer(ImporterSerializer):

0 commit comments

Comments
 (0)