|
32 | 32 | from time import time |
33 | 33 |
|
34 | 34 | from pygeofilter.parsers.ecql.parser import parse as ecql_parse |
35 | | -from pygeofilter.parsers.fes.v11 import parse as fes1_parse |
36 | 35 |
|
37 | 36 | from pycsw.core.etree import etree |
38 | 37 | from pycsw.ogc.csw.cql import cql2fes |
39 | 38 | from pycsw import opensearch |
40 | 39 | from pycsw.core import metadata, util |
41 | 40 | from pycsw.core.formats.fmt_json import xml2dict |
| 41 | +from pycsw.core.pygeofilter_ext import PycswCSWFES11Parser |
42 | 42 | from pycsw.ogc.fes import fes1, fes2 |
43 | 43 | import logging |
44 | 44 |
|
@@ -797,8 +797,9 @@ def getrecords(self): |
797 | 797 | self.parent.context.namespaces, self.parent.orm, self.parent.language['text'], self.parent.repository.fts) |
798 | 798 | self.parent.kvp['constraint']['_dict'] = xml2dict(etree.tostring(doc), self.parent.context.namespaces) |
799 | 799 | else: |
| 800 | + pc = PycswCSWFES11Parser() |
800 | 801 | self.parent.kvp['constraint'] = { |
801 | | - 'ast': fes1_parse(etree.tostring(self.parent.kvp['constraint'])) |
| 802 | + 'ast': pc.parse(self.parent.kvp['constraint']) |
802 | 803 | } |
803 | 804 | except Exception as err: |
804 | 805 | errortext = \ |
@@ -1672,7 +1673,8 @@ def _parse_constraint(self, element): |
1672 | 1673 | self.parent.context.namespaces, self.parent.orm, self.parent.language['text'], self.parent.repository.fts) |
1673 | 1674 | query['_dict'] = xml2dict(etree.tostring(tmp), self.parent.context.namespaces) |
1674 | 1675 | else: |
1675 | | - query['ast'] = fes1_parse(etree.tostring(tmp)) |
| 1676 | + pc = PycswCSWFES11Parser() |
| 1677 | + query['ast'] = pc.parse(tmp) |
1676 | 1678 | except Exception as err: |
1677 | 1679 | return 'Invalid Filter request: %s' % err |
1678 | 1680 |
|
|
0 commit comments