Skip to content

Commit 8431f3a

Browse files
authored
[Fixes #13261] Removing legacy code from Layers app (#13277)
* removing dataset_granule_remove related code * removing unused importing libraries from views * removing unused functions from utils * removing unused utils from layers
1 parent d52224f commit 8431f3a

File tree

6 files changed

+6
-351
lines changed

6 files changed

+6
-351
lines changed

geonode/layers/templates/datasets/dataset_granule_remove.html

Lines changed: 0 additions & 41 deletions
This file was deleted.

geonode/layers/tests.py

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,8 @@
6363
from geonode.groups.models import GroupProfile
6464

6565
from geonode.layers.utils import (
66-
dataset_type,
6766
get_files,
6867
get_valid_name,
69-
get_valid_dataset_name,
70-
surrogate_escape_string,
7168
)
7269

7370
from geonode.base.populate_test_data import all_public, create_models, remove_models, create_single_dataset
@@ -341,29 +338,6 @@ def test_get_valid_user(self):
341338
nn = get_anonymous_user()
342339
self.assertRaises(GeoNodeException, get_valid_user, nn)
343340

344-
def test_dataset_type(self):
345-
self.assertEqual(dataset_type("foo.shp"), "vector")
346-
self.assertEqual(dataset_type("foo.SHP"), "vector")
347-
self.assertEqual(dataset_type("foo.sHp"), "vector")
348-
self.assertEqual(dataset_type("foo.tif"), "raster")
349-
self.assertEqual(dataset_type("foo.TIF"), "raster")
350-
self.assertEqual(dataset_type("foo.TiF"), "raster")
351-
self.assertEqual(dataset_type("foo.geotif"), "raster")
352-
self.assertEqual(dataset_type("foo.GEOTIF"), "raster")
353-
self.assertEqual(dataset_type("foo.gEoTiF"), "raster")
354-
self.assertEqual(dataset_type("foo.tiff"), "raster")
355-
self.assertEqual(dataset_type("foo.TIFF"), "raster")
356-
self.assertEqual(dataset_type("foo.TiFf"), "raster")
357-
self.assertEqual(dataset_type("foo.geotiff"), "raster")
358-
self.assertEqual(dataset_type("foo.GEOTIFF"), "raster")
359-
self.assertEqual(dataset_type("foo.gEoTiFf"), "raster")
360-
self.assertEqual(dataset_type("foo.asc"), "raster")
361-
self.assertEqual(dataset_type("foo.ASC"), "raster")
362-
self.assertEqual(dataset_type("foo.AsC"), "raster")
363-
364-
# basically anything else should produce a GeoNodeException
365-
self.assertRaises(GeoNodeException, lambda: dataset_type("foo.gml"))
366-
367341
def test_get_files(self):
368342
def generate_files(*extensions):
369343
if extensions[0].lower() != "shp":
@@ -499,28 +473,6 @@ def test_get_valid_name(self):
499473
self.assertNotEqual(get_valid_name("CA"), "CA_1")
500474
self.assertNotEqual(get_valid_name("CA"), "CA_1")
501475

502-
def test_get_valid_dataset_name(self):
503-
self.assertEqual(get_valid_dataset_name("blug", False), "blug")
504-
self.assertEqual(get_valid_dataset_name("blug", True), "blug")
505-
506-
self.assertEqual(get_valid_dataset_name("<ab>", False), "_ab_")
507-
self.assertEqual(get_valid_dataset_name("<ab>", True), "<ab>")
508-
509-
self.assertEqual(get_valid_dataset_name("<-->", False), "_")
510-
self.assertEqual(get_valid_dataset_name("<-->", True), "<-->")
511-
512-
self.assertNotEqual(get_valid_dataset_name("CA", False), "CA_1")
513-
self.assertNotEqual(get_valid_dataset_name("CA", False), "CA_1")
514-
self.assertEqual(get_valid_dataset_name("CA", True), "CA")
515-
self.assertEqual(get_valid_dataset_name("CA", True), "CA")
516-
517-
layer = Dataset.objects.get(name="CA")
518-
self.assertNotEqual(get_valid_dataset_name(layer, False), "CA_1")
519-
self.assertEqual(get_valid_dataset_name(layer, True), "CA")
520-
521-
self.assertRaises(GeoNodeException, get_valid_dataset_name, 12, False)
522-
self.assertRaises(GeoNodeException, get_valid_dataset_name, 12, True)
523-
524476
# NOTE: we don't care about file content for many of these tests (the
525477
# forms under test validate based only on file name, and leave actual
526478
# content inspection to GeoServer) but Django's form validation will omit
@@ -573,19 +525,6 @@ def test_assign_change_dataset_data_perm(self):
573525
self.assertNotIn(user, perms["users"])
574526
self.assertNotIn(user.username, perms["users"])
575527

576-
def test_surrogate_escape_string(self):
577-
surrogate_escape_raw = "Zo\udcc3\udcab"
578-
surrogate_escape_expected = "Zoë"
579-
surrogate_escape_result = surrogate_escape_string(
580-
surrogate_escape_raw, "UTF-8"
581-
) # add more test cases using different charsets?
582-
self.assertEqual(
583-
surrogate_escape_result,
584-
surrogate_escape_expected,
585-
"layers.utils.surrogate_escape_string did not produce expected result. "
586-
f"Expected {surrogate_escape_expected}, received {surrogate_escape_result}",
587-
)
588-
589528
@on_ogc_backend(geoserver.BACKEND_PACKAGE)
590529
def test_assign_remove_permissions(self):
591530
# Assing

geonode/layers/urls.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,6 @@
2929

3030
urlpatterns = [
3131
# 'geonode.layers.views',
32-
re_path(r"^load_dataset_data$", views.load_dataset_data, name="load_dataset_data"),
33-
re_path(
34-
r"^(?P<granule_id>[^/]*)/(?P<layername>[^/]*)/granule_remove$",
35-
views.dataset_granule_remove,
36-
name="dataset_granule_remove",
37-
),
38-
re_path(r"^(?P<layername>[^/]*)/get$", views.get_dataset, name="get_dataset"),
3932
re_path(r"^(?P<layername>[^/]+)/embed$", views.dataset_embed, name="dataset_embed"),
4033
re_path(
4134
r"^(?P<layername>[^/]*)/feature_catalogue$", views.dataset_feature_catalogue, name="dataset_feature_catalogue"

geonode/layers/utils.py

Lines changed: 2 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,8 @@
2727
import glob
2828
import string
2929
import logging
30-
import tarfile
3130

32-
from zipfile import ZipFile, is_zipfile
31+
from zipfile import is_zipfile
3332
from random import choice
3433

3534
# Django functionality
@@ -47,7 +46,7 @@
4746
from geonode.base.models import Region
4847
from geonode.utils import check_ogc_backend
4948
from geonode import GeoNodeException, geoserver
50-
from geonode.layers.models import shp_exts, csv_exts, vec_exts, cov_exts, Dataset
49+
from geonode.layers.models import cov_exts, Dataset
5150
from geonode.security.registry import permissions_registry
5251

5352
READ_PERMISSIONS = ["view_resourcebase"]
@@ -203,40 +202,6 @@ def get_files(filename):
203202
return files, tempdir
204203

205204

206-
def dataset_type(filename):
207-
"""Finds out if a filename is a Feature or a Vector
208-
returns a gsconfig resource_type string
209-
that can be either 'featureType' or 'coverage'
210-
"""
211-
base_name, extension = os.path.splitext(filename)
212-
213-
if extension.lower() == ".zip":
214-
zf = ZipFile(filename, allowZip64=True)
215-
# ZipFile doesn't support with statement in 2.6, so don't do it
216-
with zf:
217-
for n in zf.namelist():
218-
b, e = os.path.splitext(n.lower())
219-
if e in shp_exts or e in cov_exts or e in csv_exts:
220-
extension = e
221-
222-
if extension.lower() == ".tar" or filename.endswith(".tar.gz"):
223-
tf = tarfile.open(filename)
224-
# TarFile doesn't support with statement in 2.6, so don't do it
225-
with tf:
226-
for n in tf.getnames():
227-
b, e = os.path.splitext(n.lower())
228-
if e in shp_exts or e in cov_exts or e in csv_exts:
229-
extension = e
230-
231-
if extension.lower() in vec_exts:
232-
return "vector"
233-
elif extension.lower() in cov_exts:
234-
return "raster"
235-
else:
236-
msg = f"Saving of extension [{extension}] is not implemented"
237-
raise GeoNodeException(msg)
238-
239-
240205
def get_valid_name(dataset_name):
241206
"""
242207
Create a brand new name
@@ -252,55 +217,6 @@ def get_valid_name(dataset_name):
252217
return proposed_name
253218

254219

255-
def get_valid_dataset_name(layer, overwrite):
256-
"""Checks if the layer is a string and fetches it from the database."""
257-
# The first thing we do is get the layer name string
258-
if isinstance(layer, Dataset):
259-
dataset_name = layer.name
260-
elif isinstance(layer, str):
261-
dataset_name = str(layer)
262-
else:
263-
msg = "You must pass either a filename or a GeoNode dataset object"
264-
raise GeoNodeException(msg)
265-
266-
if overwrite:
267-
return dataset_name
268-
else:
269-
return get_valid_name(dataset_name)
270-
271-
272-
def get_default_user():
273-
"""Create a default user"""
274-
superusers = get_user_model().objects.filter(is_superuser=True).order_by("id")
275-
if superusers.exists():
276-
# Return the first created superuser
277-
return superusers[0]
278-
else:
279-
raise GeoNodeException(
280-
"You must have an admin account configured "
281-
"before importing data. "
282-
"Try: django-admin.py createsuperuser"
283-
)
284-
285-
286-
def is_vector(filename):
287-
__, extension = os.path.splitext(filename)
288-
289-
if extension in vec_exts:
290-
return True
291-
else:
292-
return False
293-
294-
295-
def is_raster(filename):
296-
__, extension = os.path.splitext(filename)
297-
298-
if extension in cov_exts:
299-
return True
300-
else:
301-
return False
302-
303-
304220
def delete_orphaned_datasets():
305221
"""Delete orphaned layer files."""
306222
deleted = []
@@ -318,15 +234,6 @@ def delete_orphaned_datasets():
318234
return deleted
319235

320236

321-
def surrogate_escape_string(input_string, source_character_set):
322-
"""
323-
Escapes a given input string using the provided source character set,
324-
using the `surrogateescape` codec error handler.
325-
"""
326-
327-
return input_string.encode(source_character_set, "surrogateescape").decode("utf-8", "surrogateescape")
328-
329-
330237
def set_datasets_permissions(
331238
permissions_name, resources_names=None, users_usernames=None, groups_names=None, delete_flag=False, verbose=False
332239
):

0 commit comments

Comments
 (0)