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')