<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
<br>(FYI I inadvertently replied offlist, sorry)<br><br>Hi Adrià: This was happening in the absence of an ISO &lt;-&gt; DC mapping for this use case (i.e. querying csw:Record, asking for ISO back).&nbsp; I've committed the ISO to DC serializer in the code (and at the same time ended up refactoring the csw:Record serializer, which was occurring in two places -- thanks!).&nbsp; Can you test this and let us know if this works for you?<br><br>Thanks much for testing and feedback!<br><br>..Tom<br><br><br>&gt; Date: Fri, 3 Jun 2011 15:42:58 +0100<br>&gt; From: amercader.dev@gmail.com<br>&gt; To: pycsw-devel@lists.sourceforge.net<br>&gt; Subject: [pycsw-devel]  Constraint parameter<br>&gt; <br>&gt; Hi Tom,<br>&gt; Yes, that worked nicely thank you. But I'm getting another error :)<br>&gt; I loaded the example records provided in the data/cite directory (I'm<br>&gt; using Postgres 8.4 as db backend) and when doing this query:<br>&gt; <br>&gt; http://localhost/csw/csw.py?REQUEST=GetRecords&amp;SERVICE=CSW&amp;VERSION=2.0.2&amp;CONSTRAINTLANGUAGE=CQL_TEXT&amp;TYPENAMES=csw:Record&amp;RESULTTYPE=results&amp;OUTPUTSCHEMA=http://www.isotc211.org/2005/gmd&amp;CONSTRAINT_LANGUAGE_VERSION=1.1.0&amp;elementSetName=summary<br>&gt; <br>&gt; I get this:<br>&gt; <br>&gt; Traceback (most recent call last):<br>&gt; &nbsp;File "/var/www/apps/pycsw/trunk/csw.py", line 40, in &lt;module&gt;<br>&gt; &nbsp; &nbsp;CSW.dispatch()<br>&gt; &nbsp;File "/var/www/apps/pycsw/trunk/server/server.py", line 243, in dispatch<br>&gt; &nbsp; &nbsp;self.response = self.getrecords()<br>&gt; &nbsp;File "/var/www/apps/pycsw/trunk/server/server.py", line 926, in getrecords<br>&gt; &nbsp; &nbsp;self.repository.queryables['_all']))<br>&gt; &nbsp;File "/var/www/apps/pycsw/trunk/server/profiles/apiso/apiso.py",<br>&gt; line 375, in write_record<br>&gt; &nbsp; &nbsp;codeSpace = CODESPACE).text = val<br>&gt; &nbsp;File "lxml.etree.pyx", line 2437, in lxml.etree.SubElement<br>&gt; (src/lxml/lxml.etree.c:47709)<br>&gt; &nbsp;File "apihelpers.pxi", line 210, in lxml.etree._makeSubElement<br>&gt; (src/lxml/lxml.etree.c:11413)<br>&gt; &nbsp;File "apihelpers.pxi", line 205, in lxml.etree._makeSubElement<br>&gt; (src/lxml/lxml.etree.c:11349)<br>&gt; &nbsp;File "apihelpers.pxi", line 283, in lxml.etree._initNodeAttributes<br>&gt; (src/lxml/lxml.etree.c:12184)<br>&gt; &nbsp;File "apihelpers.pxi", line 1293, in lxml.etree._utf8<br>&gt; (src/lxml/lxml.etree.c:20190)<br>&gt; TypeError: Argument must be string or unicode.<br>&gt; <br>&gt; val is None in apiso.py. If I check for val in line 371, the records<br>&gt; are returned nicely. (Of course I don't know the implications of this<br>&gt; fix)<br>&gt; <br>&gt; Thanks,<br>&gt; <br>&gt; Adrià<br>&gt; <br>&gt; <br>&gt; On 3 June 2011 15:13, Tom Kralidis &lt;tomkralidis@hotmail.com&gt; wrote:<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&gt; Date: Fri, 3 Jun 2011 14:43:54 +0100<br>&gt; &gt;&gt; From: amercader.dev@gmail.com<br>&gt; &gt;&gt; To: pycsw-devel@lists.sourceforge.net<br>&gt; &gt;&gt; Subject: [pycsw-devel] Constraint parameter<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Hi all,<br>&gt; &gt;&gt; I'm using the latest svn trunk, and when doing a GetRecords query like<br>&gt; &gt;&gt; the following I get a 500 error with the following traceback:<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; http://localhost/csw/csw.py?REQUEST=GetRecords&amp;SERVICE=CSW&amp;VERSION=2.0.2&amp;CONSTRAINTLANGUAGE=CQL_TEXT&amp;TYPENAMES=csw:Record&amp;RESULTTYPE=results&amp;OUTPUTSCHEMA=http://www.isotc211.org/2005/gmd&amp;CONSTRAINT_LANGUAGE_VERSION=1.1.0&amp;ELEMENTSETNAME=brief<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Traceback (most recent call last):<br>&gt; &gt;&gt; File "/var/www/apps/pycsw/trunk/csw.py", line 40, in &lt;module&gt;<br>&gt; &gt;&gt; CSW.dispatch()<br>&gt; &gt;&gt; File "/var/www/apps/pycsw/trunk/server/server.py", line 243, in dispatch<br>&gt; &gt;&gt; self.response = self.getrecords()<br>&gt; &gt;&gt; File "/var/www/apps/pycsw/trunk/server/server.py", line 834, in getrecords<br>&gt; &gt;&gt; (self.kvp['constraint'], self.kvp['sortby'], self.kvp['typenames']))<br>&gt; &gt;&gt; KeyError: 'constraint'<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; If I add something like "&amp;CONSTRAINT=1" to the query I get the<br>&gt; &gt;&gt; records. AFAIK, constraint is an optional parameter of the getrecords<br>&gt; &gt;&gt; request, so maybe this is a bug?<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Cheers,<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Adrià<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt; Hi Adrià: thanks for the info.&nbsp; I've applied a fix in trunk.&nbsp; Can you test<br>&gt; &gt; and let me know if this works for you?<br>&gt; &gt;<br>&gt; &gt; ..Tom<br>&gt; &gt;<br>&gt; &gt;<br>&gt; <br>&gt; <br>&gt; <br>&gt; --<br>&gt; <br>&gt; <br>&gt; Adrià Mercader<br>&gt; -----------------------------<br>&gt; http://amercader.net<br>&gt; <br>&gt; <br>&gt; <br>&gt; -- <br>&gt; <br>&gt; <br>&gt; Adrià Mercader<br>&gt; -----------------------------<br>&gt; http://amercader.net<br>&gt; <br>&gt; ------------------------------------------------------------------------------<br>&gt; Simplify data backup and recovery for your virtual environment with vRanger.<br>&gt; Installation's a snap, and flexible recovery options mean your data is safe,<br>&gt; secure and there when you need it. Discover what all the cheering's about.<br>&gt; Get your free trial download today. <br>&gt; http://p.sf.net/sfu/quest-dev2dev2 <br>&gt; _______________________________________________<br>&gt; pycsw-devel mailing list<br>&gt; pycsw-devel@lists.sourceforge.net<br>&gt; https://lists.sourceforge.net/lists/listinfo/pycsw-devel<br>                                               </body>
</html>