# HG changeset patch # User dwinter # Date 1372258139 -7200 # Node ID 38ff05179d71c0ce0cac1ef9e569e859a7093e5f # Parent da890cb0fd047beb7e3db8551bea417a59e71fa7 search got extra perameter searchkeys diff -r da890cb0fd04 -r 38ff05179d71 zopePubmanConnector.py --- a/zopePubmanConnector.py Wed Jun 26 16:02:02 2013 +0200 +++ b/zopePubmanConnector.py Wed Jun 26 16:48:59 2013 +0200 @@ -172,7 +172,7 @@ return ret - def search(self,values={},exact=False,limit=None,contexts=None): + def search(self,values={},exact=False,limit=None,contexts=None,resultWithContext=False,sortKeys="escidoc.any-dates"): """search pubman @values map mit field->value @return map mit escidocId -> XML-formatted snippeds @@ -184,7 +184,9 @@ cn = self.connectorString+"cqlQuery=%s&" - cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" + #cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" + #cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.property.creation-date&sortOrder=descending" + cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys="+sortKeys+"&sortOrder=descending" if limit: cn+="&maximumRecords=%s"%limit @@ -254,7 +256,13 @@ for citation in citations: objId = citation.get('objid') text = citation.find(citationxpath) - ret[objId]=text.text + + if resultWithContext: + ctxPath=".//escidocItem:properties/srel:context" + ctx = citation.find(ctxPath,ns) + ret[objId]=(text.text,ctx.get('objid')) + else: + ret[objId]=text.text return ret