Skip to content

Commit

Permalink
Improvements to PyCSW Constraints and Local Mappings
Browse files Browse the repository at this point in the history
Improvements to PyCSW Constraints and Local Mappings

Improvements to PyCSW Constraints and Local Mappings

Improvements to PyCSW Constraints and Local Mappings
  • Loading branch information
afabiani committed Jun 11, 2018
1 parent d4a8759 commit ce79021
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 34 deletions.
4 changes: 2 additions & 2 deletions geonode/catalogue/backends/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,10 @@ def csw_gen_xml(self, layer, template):
id_pname = 'dc:identifier'
if self.type == 'deegree':
id_pname = 'apiso:Identifier'

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
tpl = get_template(template)
ctx = {'layer': layer,
'SITEURL': settings.SITEURL[:-1],
'SITEURL': site_url,
'id_pname': id_pname,
'LICENSES_METADATA': getattr(settings,
'LICENSES',
Expand Down
8 changes: 4 additions & 4 deletions geonode/catalogue/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ def csw_global_dispatch(request):
for e in authorized_ids)) + ")"
authorized_layers_filter = "id IN " + authorized_layers
mdict['repository']['filter'] += " AND " + authorized_layers_filter

mdict['repository']['filter'] = "({}) OR ({})".format(mdict['repository']['filter'],
authorized_layers_filter)
if request.user and request.user.is_authenticated():
mdict['repository']['filter'] = "({}) OR ({})".format(mdict['repository']['filter'],
authorized_layers_filter)
else:
authorized_layers_filter = "id = -9999"
mdict['repository']['filter'] += " AND " + authorized_layers_filter
Expand All @@ -111,7 +111,7 @@ def csw_global_dispatch(request):

if not is_admin and settings.GROUP_PRIVATE_RESOURCES:
groups_ids = []
if request.user:
if request.user and request.user.is_authenticated():
for group in request.user.groups.all():
groups_ids.append(group.id)
group_list_all = []
Expand Down
27 changes: 12 additions & 15 deletions geonode/contrib/slack/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@


def _build_state_resourcebase(resource):

site = Site.objects.get_current()
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
thumbnail_url = resource.get_thumbnail_url()
owner_url = "{base}{context}".format(base=settings.SITEURL[:-1], context=resource.owner.get_absolute_url())
owner_url = "{base}{context}".format(base=site_url, context=resource.owner.get_absolute_url())

state = {
'title': resource.title,
Expand All @@ -59,17 +59,16 @@ def _build_state_resourcebase(resource):


def _build_state_layer(layer):

state = _build_state_resourcebase(layer)

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
url_detail = "{base}{context}".format(
base=settings.SITEURL[:-1],
base=site_url,
context=reverse('layer_detail', args=(layer.service_typename,)))
link_shp = Link.objects.get(resource=layer.get_self_resource(), name='Zipped Shapefile')
link_geojson = Link.objects.get(resource=layer.get_self_resource(), name='GeoJSON')
link_netkml = Link.objects.get(resource=layer.get_self_resource(), name='View in Google Earth')
url_map = "{base}{context}".format(
base=settings.SITEURL[:-1],
base=site_url,
context=reverse("new_map")+"?layer="+layer.service_typename)

state['url_detail'] = url_detail
Expand All @@ -82,17 +81,16 @@ def _build_state_layer(layer):


def _build_state_map(map):

state = _build_state_resourcebase(map)

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
url_detail = "{base}{context}".format(
base=settings.SITEURL[:-1],
base=site_url,
context=reverse('map_detail', args=(map.id,)))
url_view = "{base}{context}".format(
base=settings.SITEURL[:-1],
base=site_url,
context=reverse('map_view', args=(map.id,)))
url_download = "{base}{context}".format(
base=settings.SITEURL[:-1],
base=site_url,
context=reverse('map_download', args=(map.id,)))

state['url_detail'] = url_detail
Expand All @@ -103,14 +101,13 @@ def _build_state_map(map):


def _build_state_document(document):

state = _build_state_resourcebase(document)

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
url_detail = "{base}{context}".format(
base=settings.SITEURL[:-1],
base=site_url,
context=reverse('document_detail', args=(document.id,)))
url_download = "{base}{context}".format(
base=settings.SITEURL[:-1],
base=site_url,
context=reverse('document_download', args=(document.id,)))

state['url_detail'] = url_detail
Expand Down
3 changes: 2 additions & 1 deletion geonode/documents/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,9 @@ def post_save_document(instance, *args, **kwargs):

if instance.doc_file:
name = "Hosted Document"
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
url = '%s%s' % (
settings.SITEURL[:-1],
site_url,
reverse('document_download', args=(instance.id,)))
elif instance.doc_url:
name = "External Document"
Expand Down
6 changes: 4 additions & 2 deletions geonode/documents/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,11 +561,12 @@ def document_thumb_upload(
status=401
)

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
if request.method == 'GET':
return render(request, template, context={
"resource": document,
"docid": docid,
'SITEURL': settings.SITEURL[:-1]
'SITEURL': site_url
})
elif request.method == 'POST':
status_code = 401
Expand Down Expand Up @@ -687,10 +688,11 @@ def document_metadata_detail(
group = GroupProfile.objects.get(slug=document.group.name)
except GroupProfile.DoesNotExist:
group = None
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
return render(request, template, context={
"resource": document,
"group": group,
'SITEURL': settings.SITEURL[:-1]
'SITEURL': site_url
})


Expand Down
7 changes: 4 additions & 3 deletions geonode/geoserver/signals.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,8 @@ def geoserver_post_save_local(instance, *args, **kwargs):
'url': None,
'type': None}
profile = Profile.objects.get(username=instance.poc.username)
gs_resource.attribution_link = settings.SITEURL[
:-1] + profile.get_absolute_url()
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
gs_resource.attribution_link = site_url + profile.get_absolute_url()
# gs_resource should only be called if
# ogc_server_settings.BACKEND_WRITE_ENABLED == True
if getattr(ogc_server_settings, "BACKEND_WRITE_ENABLED", True):
Expand Down Expand Up @@ -477,8 +477,9 @@ def command_url(command):
)
)

site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
html_link_url = '%s%s' % (
settings.SITEURL[:-1], instance.get_absolute_url())
site_url, instance.get_absolute_url())

Link.objects.get_or_create(resource=instance.resourcebase_ptr,
url=html_link_url,
Expand Down
9 changes: 6 additions & 3 deletions geonode/layers/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1454,10 +1454,11 @@ def layer_metadata_detail(
group = GroupProfile.objects.get(slug=layer.group.name)
except GroupProfile.DoesNotExist:
group = None
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
return render(request, template, context={
"resource": layer,
"group": group,
'SITEURL': settings.SITEURL[:-1]
'SITEURL': site_url
})


Expand All @@ -1470,10 +1471,11 @@ def layer_metadata_upload(
layername,
'base.change_resourcebase',
_PERMISSION_MSG_METADATA)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
return render(request, template, context={
"resource": layer,
"layer": layer,
'SITEURL': settings.SITEURL[:-1]
'SITEURL': site_url
})


Expand All @@ -1486,10 +1488,11 @@ def layer_sld_upload(
layername,
'base.change_resourcebase',
_PERMISSION_MSG_METADATA)
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
return render(request, template, context={
"resource": layer,
"layer": layer,
'SITEURL': settings.SITEURL[:-1]
'SITEURL': site_url
})


Expand Down
3 changes: 2 additions & 1 deletion geonode/maps/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1428,10 +1428,11 @@ def map_metadata_detail(
group = GroupProfile.objects.get(slug=map_obj.group.name)
except GroupProfile.DoesNotExist:
group = None
site_url = settings.SITEURL[:-1] if settings.SITEURL.endswith("/") else settings.SITEURL
return render(request, template, context={
"resource": map_obj,
"group": group,
'SITEURL': settings.SITEURL[:-1]
'SITEURL': site_url
})


Expand Down
6 changes: 3 additions & 3 deletions geonode/tests/csw.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ def test_csw_outputschema_dc_bbox(self):
'Expected a specific CRS code value in Dublin Core model')
# test BBOX properties in Dublin Core
from decimal import Decimal
logger.info([Decimal(record.bbox.minx), Decimal(record.bbox.miny),
logger.debug([Decimal(record.bbox.minx), Decimal(record.bbox.miny),
Decimal(record.bbox.maxx), Decimal(record.bbox.maxy)])
self.assertEqual(
Decimal(record.bbox.minx),
Expand Down Expand Up @@ -296,10 +296,10 @@ def test_csw_query_bbox(self):

csw = get_catalogue()
csw.catalogue.getrecords(bbox=[-140, -70, 80, 70])
logger.info(csw.catalogue.results)
logger.debug(csw.catalogue.results)
self.assertEqual(
csw.catalogue.results,
{'matches': 16, 'nextrecord': 11, 'returned': 10},
{'matches': 7, 'nextrecord': 0, 'returned': 7},
'Expected a specific bbox query result set')

def test_csw_upload_fgdc(self):
Expand Down

0 comments on commit ce79021

Please sign in to comment.