#NEWLINE# def _parse_constraint( self , element ) : #NEWLINE# #INDENT# ' Parse csw:Constraint ' #NEWLINE# query = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# tmp = element . find ( util . nspath_eval ( 'ogc:Filter' , self . parent . context . namespaces ) ) #NEWLINE# if ( tmp is not None ) : #NEWLINE# #INDENT# LOGGER . debug ( 'Filter constraint specified.' ) #NEWLINE# try : #NEWLINE# #INDENT# query [ 'type' ] = 'filter' #NEWLINE# ( query [ 'where' ] , query [ 'values' ] ) = fes1 . parse ( tmp , self . parent . repository . queryables [ '_all' ] , self . parent . repository . dbtype , self . parent . context . namespaces , self . parent . orm , self . parent . language [ 'text' ] , self . parent . repository . fts ) #NEWLINE# #UNINDENT# except Exception as err : #NEWLINE# #INDENT# return ( 'Invalid Filter request: %s' % err ) #NEWLINE# #UNINDENT# #UNINDENT# tmp = element . find ( util . nspath_eval ( 'csw:CqlText' , self . parent . context . namespaces ) ) #NEWLINE# if ( tmp is not None ) : #NEWLINE# #INDENT# LOGGER . debug ( ( 'CQL specified: %s.' % tmp . text ) ) #NEWLINE# query [ 'type' ] = 'cql' #NEWLINE# query [ 'where' ] = self . parent . _cql_update_queryables_mappings ( tmp . text , self . parent . repository . queryables [ '_all' ] ) #NEWLINE# query [ 'values' ] = { #NEWLINE# #INDENT# #NEWLINE# #UNINDENT# } #NEWLINE# #UNINDENT# return query