Skip to content

Commit 93fc384

Browse files
Improve GeoNode modularization
1 parent 63af7ac commit 93fc384

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

geonode/base/models.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -957,9 +957,18 @@ def raw_abstract(self):
957957
def can_be_downloaded(self):
958958
return self.subtype in ["vector", "raster", "vector_time"]
959959

960+
@property
960961
def can_have_wfs_links(self):
961962
return self.subtype == "vector"
962-
963+
964+
@property
965+
def can_have_wps_links(self):
966+
return self.subtype in {"vector", "tileStore", "remote", "wmsStore", "vector_time"}
967+
968+
@property
969+
def can_have_style(self):
970+
return self.subtype not in ["tileStore", "remote"]
971+
963972
@property
964973
def raw_purpose(self):
965974
return self._remove_html_tags(self.purpose)
@@ -1517,7 +1526,7 @@ def get_legend_url(self, style_name=None):
15171526
def get_ows_url(self):
15181527
"""Return URL for OGC WMS server None if it does not exist."""
15191528
try:
1520-
ows_link = self.link_set.get(name="OGC:WMS")
1529+
ows_link = self.link_set.get(name="OGC:WMS") or self.link_set.get(name="OGC:WFS")
15211530
except Link.DoesNotExist:
15221531
return None
15231532
else:
@@ -1921,7 +1930,7 @@ def get_linked_resources(self, as_target: bool = False):
19211930
if as_target
19221931
else LinkedResource.get_linked_resources(source=self)
19231932
)
1924-
1933+
19251934
def prepare_wms_links(self, wms_url, identifier, bbox, srid, height, width):
19261935
types = [
19271936
("jpg", _("JPEG"), "image/jpeg"),
@@ -1935,7 +1944,6 @@ def prepare_wms_links(self, wms_url, identifier, bbox, srid, height, width):
19351944
return output
19361945

19371946

1938-
19391947
class LinkManager(models.Manager):
19401948
"""Helper class to access links grouped by type"""
19411949

geonode/geoserver/helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1012,7 +1012,7 @@ def set_attributes_from_geoserver(layer, overwrite=False):
10121012
f"Error while retrieving info for {layer.subtype} '{layer.alternate or layer.typename}'", exc_info=True
10131013
)
10141014
attribute_map = []
1015-
elif layer.subtype in WPS_ACCEPTABLE_FORMATS.values():
1015+
elif layer.can_have_wps_links:
10161016
typename = layer.alternate if layer.alternate else layer.typename
10171017
logger.info(f"Getting WFS info for {layer.subtype} '{typename}'")
10181018
dft_url_path = re.sub(r"\/wms\/?$", "/", server_url)

geonode/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,7 +1293,7 @@ def set_resource_default_links(instance, layer, prune=False, **kwargs):
12931293
resource=instance.resourcebase_ptr, name=gettext_lazy(name), link_type="image"
12941294
).update(**_d)
12951295

1296-
if instance.subtype == "vector":
1296+
if instance.can_have_wfs_links:
12971297
links = wfs_links(
12981298
instance_ows_url,
12991299
instance.alternate,
@@ -1372,7 +1372,7 @@ def set_resource_default_links(instance, layer, prune=False, **kwargs):
13721372
# Legend link
13731373
logger.debug(" -- Resource Links[Legend link]...")
13741374
try:
1375-
if instance.subtype not in ["tileStore", "remote"]:
1375+
if instance.can_have_style:
13761376
for style in set(
13771377
list(instance.styles.all())
13781378
+ [

0 commit comments

Comments
 (0)