Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions geonode/geoserver/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
from geonode.catalogue.models import catalogue_post_save
from geonode.layers.models import Dataset, Attribute, Style
from geonode.layers.enumerations import LAYER_ATTRIBUTE_NUMERIC_DATA_TYPES
from geonode.resource.utils import KeywordHandler
from geonode.resource.utils import is_remote_resource

from geonode.utils import (
Expand Down Expand Up @@ -104,6 +105,15 @@
DEFAULT_STYLE_NAME = ["generic", "line", "point", "polygon", "raster"]


def _sync_geoserver_keywords_to_instance(instance, keywords):
if not keywords:
return
try:
KeywordHandler(instance=instance, keywords=list(keywords)).set_keywords()
except Exception:
logger.exception(f"Error while importing keywords from GeoServer for dataset {instance.name}")


if not hasattr(settings, "OGC_SERVER"):
msg = (
"Please configure OGC_SERVER when enabling geonode.geoserver."
Expand Down Expand Up @@ -1969,6 +1979,8 @@ def sync_instance_with_geoserver(instance_id, *args, **kwargs):
setattr(instance, key, get_dataset_storetype(values[key]))

if updatemetadata:
_sync_geoserver_keywords_to_instance(instance, gs_resource.keywords)

# Get metadata links
metadata_links = []
for link in instance.link_set.metadata():
Expand Down
Loading