# HG changeset patch # User dwinter # Date 1367766622 -7200 # Node ID 69a2f0b8a93228879f732f2be3778b6fcd6dd6f9 # Parent 007ba22a5eb17da557e07dee64f2d3debd1046bc sortieren von treffer listen nach typen diff -r 007ba22a5eb1 -r 69a2f0b8a932 zopePubmanConnector.py --- a/zopePubmanConnector.py Sun May 05 15:50:01 2013 +0200 +++ b/zopePubmanConnector.py Sun May 05 17:10:22 2013 +0200 @@ -65,9 +65,11 @@ if publicationType is None: - cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22&" + # cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22&" + cn = self.connectorString+"cqlQuery=escidoc.publication.creator.person.identifier=%22"+personID+"%22&" else: - cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22" + #cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22" + cn = self.connectorString+"cqlQuery=escidoc.publication.creator.person.identifier=%22"+personID+"%22&" cn +="%20and%20escidoc.publication.type=%22"+publicationType+"%22&" cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" @@ -198,9 +200,24 @@ return ret - + + def getEntriesFromPubman(self,escidocids): - def getEntryFromPubman(self,escidocid): + doctypes={} + for escidocid in escidocids: + + txt, type = self.getEntryFromPubman(escidocid.escidocid, True) + + if not doctypes.has_key(type): + doctypes[type]=[] + + doctypes[type].append((escidocid.escidocid,txt)) + + + return doctypes + + + def getEntryFromPubman(self,escidocid,extendedData=None): """get one entry""" escidocid=escidocid.lstrip().strip() @@ -219,11 +236,22 @@ citation=root.find(citationxpath) + + if citation is not None and extendedData is not None: + ns = {'escidocMetadataProfile':"http://escidoc.mpg.de/metadataprofile/schema/0.1/", + 'escidocMetadataRecords':"http://www.escidoc.de/schemas/metadatarecords/0.4" + } + + path = ".//escidocMetadataRecords:md-records/escidocMetadataRecords:md-record/escidocMetadataProfile:publication" + + publicationTag= root.find(path,ns); + return citation.text,publicationTag.get('type') + if citation is not None: return citation.text - - return "" + + return "",'' def pubmanConnectorURL(self): return self.connectorString