Mercurial > hg > ZopePubmanConnector
comparison zopePubmanConnector.py @ 24:345dd913f520 default tip
new pubman
author | Dirk Wintergr?n <dwinter@mpiwg-berlin.mpg.de> |
---|---|
date | Fri, 10 Jan 2014 12:43:43 +0100 |
parents | d24a8673d68e |
children |
comparison
equal
deleted
inserted
replaced
23:d24a8673d68e | 24:345dd913f520 |
---|---|
39 return pt | 39 return pt |
40 | 40 |
41 class ZopePubmanConnector(SimpleItem): | 41 class ZopePubmanConnector(SimpleItem): |
42 | 42 |
43 | 43 |
44 connectorString="http://pubman.mpiwg-berlin.mpg.de/search/SearchAndExport?" | 44 #connectorString="http://pubman.mpiwg-berlin.mpg.de/search/SearchAndExport?" |
45 | 45 |
46 | 46 |
47 meta_type="ZopePubmanConnector" | 47 meta_type="ZopePubmanConnector" |
48 | 48 |
49 manage_options= ({'label':'Main Config','action': 'changeMain'},) + SimpleItem.manage_options | 49 manage_options= ({'label':'Main Config','action': 'changeMain'},) + SimpleItem.manage_options |
74 """get all publications der personID""" | 74 """get all publications der personID""" |
75 h = httplib2.Http(cacheFolder,timeout=TIMEOUT) | 75 h = httplib2.Http(cacheFolder,timeout=TIMEOUT) |
76 | 76 |
77 if publicationType is None: | 77 if publicationType is None: |
78 # cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22&" | 78 # cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22&" |
79 cn = self.connectorString+"cqlQuery=escidoc.publication.creator.person.identifier=%22"+personID+"%22&" | 79 cn = self.pubmanURL+"cqlQuery=escidoc.publication.creator.person.identifier=%22"+personID+"%22&" |
80 else: | 80 else: |
81 #cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22" | 81 #cn = self.connectorString+"cqlQuery=escidoc.any-identifier=%22"+personID+"%22" |
82 cn = self.connectorString+"cqlQuery=%28escidoc.publication.creator.person.identifier=%22"+personID+"%22%29" | 82 cn = self.pubmanURL+"cqlQuery=%28escidoc.publication.creator.person.identifier=%22"+personID+"%22%29" |
83 cn +="%20and%28%20escidoc.publication.type=%22"+publicationType+"%22%29&" | 83 cn +="%20and%28%20escidoc.publication.type=%22"+publicationType+"%22%29&" |
84 | 84 |
85 cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" | 85 cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" |
86 if limit: | 86 if limit: |
87 cn+="&maximumRecords=%s"%limit | 87 cn+="&maximumRecords=%s"%limit |
178 fieldToEscidoc={"title":"escidoc.any-title", | 178 fieldToEscidoc={"title":"escidoc.any-title", |
179 "author":"escidoc.publication.any.publication-creator-names", | 179 "author":"escidoc.publication.any.publication-creator-names", |
180 "any":"escidoc.metadata"} | 180 "any":"escidoc.metadata"} |
181 | 181 |
182 | 182 |
183 cn = self.connectorString+"cqlQuery=%s&" | 183 cn = self.pubmanURL+"cqlQuery=%s&" |
184 #cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" | 184 #cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" |
185 #cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.property.creation-date&sortOrder=descending" | 185 #cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.property.creation-date&sortOrder=descending" |
186 cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys="+sortKeys+"&sortOrder=descending" | 186 cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys="+sortKeys+"&sortOrder=descending" |
187 | 187 |
188 if limit: | 188 if limit: |
291 | 291 |
292 | 292 |
293 | 293 |
294 escidocid=escidocid.lstrip().strip() | 294 escidocid=escidocid.lstrip().strip() |
295 h = httplib2.Http(cacheFolder,timeout=TIMEOUT) | 295 h = httplib2.Http(cacheFolder,timeout=TIMEOUT) |
296 cn = self.connectorString+"cqlQuery=escidoc.objid=%s&" | 296 cn = self.pubmanURL+"cqlQuery=escidoc.objid=%s&" |
297 cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" | 297 cn +="exportFormat=APA&outputFormat=snippet&language=all&sortKeys=escidoc.any-dates&sortOrder=descending" |
298 content = None | 298 content = None |
299 try: | 299 try: |
300 resp, content = h.request(cn%escidocid) | 300 resp, content = h.request(cn%escidocid) |
301 ET.register_namespace("dcterms", "http://purl.org/dc/terms/") | 301 ET.register_namespace("dcterms", "http://purl.org/dc/terms/") |
395 | 395 |
396 | 396 |
397 return "",'' | 397 return "",'' |
398 | 398 |
399 def pubmanConnectorURL(self): | 399 def pubmanConnectorURL(self): |
400 return self.connectorString | 400 return self.pubmanURL |
401 | 401 |
402 | 402 |
403 def getPublicationsFromContext(self,context,limit=None,publicationType=None,search=None): | 403 def getPublicationsFromContext(self,context,limit=None,publicationType=None,search=None): |
404 """gibt alle publicationen des context, jeweils als tupel ("escidoc:id",METADATEN) | 404 """gibt alle publicationen des context, jeweils als tupel ("escidoc:id",METADATEN) |
405 | 405 |
413 "year" --> issued | 413 "year" --> issued |
414 """ | 414 """ |
415 h = httplib2.Http(cacheFolder,timeout=TIMEOUT) | 415 h = httplib2.Http(cacheFolder,timeout=TIMEOUT) |
416 | 416 |
417 if publicationType is None: | 417 if publicationType is None: |
418 cn = self.connectorString+"cqlQuery=(escidoc.context.objid=%22"+context+"%22" | 418 cn = self.pubmanURL+"cqlQuery=(escidoc.context.objid=%22"+context+"%22" |
419 #cn = self.connectorString+"cqlQuery=escidoc.objid=%22"+"escidoc:643455"+"%22&" | 419 #cn = self.pubmanURL+"cqlQuery=escidoc.objid=%22"+"escidoc:643455"+"%22&" |
420 else: | 420 else: |
421 cn = self.connectorString+"cqlQuery=(escidoc.context.objid=%22"+context+"%22" | 421 cn = self.pubmanURL+"cqlQuery=(escidoc.context.objid=%22"+context+"%22" |
422 cn +="%20and%20escidoc.publication.type=%22"+publicationType+"%22" | 422 cn +="%20and%20escidoc.publication.type=%22"+publicationType+"%22" |
423 | 423 |
424 if search is not None and search != "": | 424 if search is not None and search != "": |
425 try: | 425 try: |
426 search = unicodedata.normalize('NFKD', search).encode('ASCII', 'ignore') | 426 search = unicodedata.normalize('NFKD', search).encode('ASCII', 'ignore') |