diff --git a/CHANGELOG.rst b/CHANGELOG.rst index bc37767..66f0737 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + + +[v0.12.7] - 2023-12-15 +--------------------- + +Added +~~~~~ + +* add missing `startPosition` parameter inside get records xml mapper. + + [v0.12.7] - 2023-12-15 --------------------- diff --git a/ows_lib/__init__.py b/ows_lib/__init__.py index 5c32061..06ded2d 100644 --- a/ows_lib/__init__.py +++ b/ows_lib/__init__.py @@ -1,2 +1,2 @@ -__version__ = "0.12.7" +__version__ = "0.13.0" VERSION = __version__ # synonym diff --git a/ows_lib/models/ogc_request.py b/ows_lib/models/ogc_request.py index ea657c6..7ad179a 100644 --- a/ows_lib/models/ogc_request.py +++ b/ows_lib/models/ogc_request.py @@ -5,7 +5,6 @@ from django.http.request import HttpRequest as DjangoRequest from eulxml.xmlmap import XmlObject, load_xmlobject_from_string from lark.exceptions import LarkError -from lxml import etree from lxml.etree import XMLSyntaxError from pygeofilter.backends.django.evaluate import to_filter from pygeofilter.parsers.ecql import parse as parse_ecql @@ -338,6 +337,8 @@ def xml_request(self) -> XmlObject: "SERVICE") self._xml_request.result_type = self.ogc_query_params.get( "resultType") + self._xml_request.start_position = self.ogc_query_params.get( + "startPosition") self._xml_request.max_records = self.ogc_query_params.get( "maxRecords") self._xml_request.element_set_name = self.ogc_query_params.get( diff --git a/ows_lib/xml_mapper/xml_requests/csw/get_records.py b/ows_lib/xml_mapper/xml_requests/csw/get_records.py index 5b18b10..0c79500 100644 --- a/ows_lib/xml_mapper/xml_requests/csw/get_records.py +++ b/ows_lib/xml_mapper/xml_requests/csw/get_records.py @@ -21,6 +21,7 @@ class GetRecordsRequest(XmlObject): service_version = StringField(xpath="./@version") service_type = StringField(xpath="./@service") result_type = StringField(xpath="./@resultType") + start_position = StringField(xpath="./@startPosition") max_records = StringField(xpath="./@maxRecords") element_set_name = StringField(xpath="./csw:Query/csw:ElementSetName") type_names = StringField(xpath="./csw:Query/@typeNames")