force all CSW GetRecords requests to set ogc:SortBy to ensure proper ordering

This commit is contained in:
Tom Kralidis 2015-12-25 14:09:37 -05:00
parent 7b467ebdd7
commit eb9cd6fc1c
1 changed files with 8 additions and 2 deletions

View File

@ -6,7 +6,7 @@ for convenience.
import logging
from owslib.etree import etree
from owslib.fes import PropertyIsEqualTo
from owslib.fes import PropertyIsEqualTo, SortBy, SortProperty
log = logging.getLogger(__name__)
@ -66,6 +66,10 @@ class CswService(OwsService):
Perform various operations on a CSW service
"""
from owslib.csw import CatalogueServiceWeb as _Implementation
def __init__(self):
self.sortby = SortBy([SortProperty('dc:identifier')])
def getrecords(self, qtype=None, keywords=[],
typenames="csw:Record", esn="brief",
skip=0, count=10, outputschema="gmd", **kw):
@ -83,6 +87,7 @@ class CswService(OwsService):
"startposition": skip,
"maxrecords": count,
"outputschema": namespaces[outputschema],
"sortby": self.sortby
}
log.info('Making CSW request: getrecords2 %r', kwa)
csw.getrecords2(**kwa)
@ -110,7 +115,8 @@ class CswService(OwsService):
"startposition": startposition,
"maxrecords": page,
"outputschema": namespaces[outputschema],
"cql":cql,
"cql": cql,
"sortby": self.sortby
}
i = 0
matches = 0