Skip to content

Commit a8ddaf4

Browse files
authored
Merge pull request #48 from OpenGeoscience/fix-multiple-category-keywords
Overwrite if extra keywords already exist
2 parents 4d3ba8c + 17a5d0e commit a8ddaf4

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

dataqs/helpers.py

100644100755
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,3 +381,15 @@ def __init__(self, content):
381381

382382
def raise_for_status(self):
383383
pass
384+
385+
386+
def add_keywords(keyword_list, extra_keywords):
387+
"""Adds extra_keywords list to the keyword_list"""
388+
389+
# check if datetime and category already exist in the
390+
# keyword list
391+
filtered_keywords = [k for k in keyword_list if not
392+
(k.startswith('category:') or
393+
k.startswith('datetime:'))]
394+
395+
return filtered_keywords + extra_keywords

dataqs/processor_base.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import requests
3232
from django.conf import settings
3333
import shutil
34-
from dataqs.helpers import get_html
34+
from dataqs.helpers import get_html, add_keywords
3535
from geonode.geoserver.helpers import ogc_server_settings, gs_catalog, get_store
3636
from geonode.geoserver.management.commands.updatelayers import Command \
3737
as UpdateLayersCommand
@@ -268,9 +268,11 @@ def update_geonode(self, layer_name, title="", description="",
268268
gs_catalog.save(res)
269269
if extra_keywords:
270270
assert isinstance(extra_keywords, list)
271+
now = datetime.datetime.now().isoformat()
272+
extra_keywords.append('datetime:{}'.format(now))
271273
# Append extra keywords to the default ones
272274
res = lyr.gs_resource
273-
keywords = res.keywords + extra_keywords
275+
keywords = add_keywords(res.keywords, extra_keywords)
274276
res.keywords = keywords
275277
_user, _password = ogc_server_settings.credentials
276278
url = ogc_server_settings.rest

0 commit comments

Comments
 (0)