--- ECHO_content/ECHO_collection.py 2006/07/03 17:29:20 1.271 +++ ECHO_content/ECHO_collection.py 2006/07/27 16:18:16 1.273 @@ -633,9 +633,14 @@ class ECHO_resource(CatalogAware,Folder, #print ECHO_helpers.urlopen(self.absolute_url()+'/setAccessRightXML'+'?'+params).read() + tries=0 + for i in range(10): + x=ECHO_helpers.urlopen('http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/setAccessRightXML'+urllib.quote('?'+params))).read() + if x=="ok": + + break; + - ECHO_helpers.urlopen('http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/setAccessRightXML'+urllib.quote('?'+params))).read() - if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -793,9 +798,14 @@ class ECHO_resource(CatalogAware,Folder, params="startpage=%s"%startpage #print 'http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params)) - - ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() - + + tries=0 + for i in range(10): + x=ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() + if x=="ok": + + break; + path=self.metalink @@ -858,10 +868,16 @@ class ECHO_resource(CatalogAware,Folder, params="project=%s&xslt=%s&thumbtemplate=%s&topbar=%s&digiLibTemplate=%s&digiliburlprefix=%s"%(project,xslt,thumbtemplate,topbar,digiLibTemplate,digiliburlprefix) - try: - ECHO_helpers.urlopen('http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() - except: - zLOG.LOG("ECHO_ressource (changeViewerTemplateSet)", zLOG.ERROR,"%s (%s)"%sys.exc_info()[0:2]) + try: + tries=0 + for i in range(10): + x=ECHO_helpers.urlopen('http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() + if x=="ok": + + break; + + except: + zLOG.LOG("ECHO_ressource (changeViewerTemplateSet)", zLOG.ERROR,"%s (%s)"%sys.exc_info()[0:2]) zLOG.LOG("ECHO_ressource (changeViewerTemplateSet)", zLOG.ERROR,'http://echo.mpiwg-berlin.mpg.de/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))) #print self.absolute_url()+'/newMetaXML'+urllib.quote'?'+params) # hack Pfad auf die Dokumente @@ -871,13 +887,13 @@ class ECHO_resource(CatalogAware,Folder, path=re.sub('/index.meta','',path) - #TODO: direct access to the file system necessary, fix that also xmlrpc to the server where the index file is stored is possible - parsedUrl=urlparse.urlparse(path) - path=parsedUrl[2] - - try: - return ECHO_helpers.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() - except: + #TODO: direct access to the file system necessary, fix that also xmlrpc to the server where the index file is stored is possible + parsedUrl=urlparse.urlparse(path) + path=parsedUrl[2] + + try: + return ECHO_helpers.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() + except: zLOG.LOG("ECHO_Resource (changeViewerTemplateSet)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2]) zLOG.LOG("ECHO_Resource (changeViewerTemplateSet)", zLOG.INFO,"http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path) @@ -1015,6 +1031,25 @@ class ECHO_resource(CatalogAware,Folder, else: return '' + def getOwnerOriginalsHTML(self): + """gibt Liste der foerdernden Institutionen aus""" + + if hasattr(self,'ownerOriginal'): + obj=self.ownerOriginal + ret=obj.getOwner() + return ret + else: + return '' + + def getDigiCopyByHTML(self): + """gibt Liste der foerdernden Institutionen aus""" + + if hasattr(self,'digiCopyBy'): + obj=self.digiCopyBy + ret=obj.getDigiCopyBy() + return ret + else: + return '' def getCredits(self): """Ausgabe der credits""" @@ -1191,8 +1226,14 @@ class ECHO_resource(CatalogAware,Folder, zLOG.LOG("ECHO_collection (changeECHO_resource_metadata)",zLOG.ERROR,"%s (%s)"%sys.exc_info()[0:2]) print self.newMetaXML() - ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML')).read() - + tries=0 + for i in range(10): + x=ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML')).read() + if x=="ok": + + break; + + if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -1242,7 +1283,7 @@ class ECHO_resource(CatalogAware,Folder, if not fieldName: fieldName=fieldNameTest if not empty: - #FIXME: warum gibt es manchmal kein metadatahas + #FIXME: warum gibt es manchmal kein metadatahas try: ret =self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) @@ -1270,8 +1311,12 @@ class ECHO_resource(CatalogAware,Folder, self.copyIndex_meta2echo_resource() try: + + return writeMetadata(self.metalink,self.OSAS_meta,project,startpage,xslt,thumbtemplate,topbar,digiLibTemplate,digiliburlprefix=digiliburlprefix) except: + #print self.metalink,self.metaDataHash,project,startpage,xslt,thumbtemplate,topbar,digiLibTemplate,digiliburlprefix + return writeMetadata(self.metalink,self.metaDataHash,project,startpage,xslt,thumbtemplate,topbar,digiLibTemplate,digiliburlprefix=digiliburlprefix) def showMetaDataXML(self,project=None,startpage=None,xslt=None,thumbtemplate=None,topbar=None,digiLibTemplate=None): @@ -1714,7 +1759,7 @@ class ECHO_link(ECHO_externalLink): meta_type="ECHO_link" manage_options = ECHO_externalLink.manage_options+( - {'label':'add links config','action':'ECHO_link_addLinksForm'}, + {'label':'add links config','action':'ECHO_link_addLinksForm'}, ) def ECHO_link_addLinksForm(self): @@ -1753,7 +1798,71 @@ class ECHO_link(ECHO_externalLink): # # return ret # - + def getCopyrightsHTML(self): + """gib (link auf copyright link, mediatyp, institution, copyrightType, label von copyrightType) aus""" + + if hasattr(self,'copyrightModel'): + obj=self.copyrightModel + + else: + return "ERROR" + ret=[] + + for copyright in obj.getCopyrights(): #copyright - media / partner / copyrightID + + + try: + if hasattr(self.copyrightTypes,copyright[2]): + copyrightTypeObj=getattr(self.copyrightTypes,copyright[2]) + link="copyrightTypes/"+copyright[2]+'/copyright.html' + else: + copyrightTypeObj=getattr(obj,copyright[2]) + link="copyrightModel/"+copyright[2]+'/copyright.html' + + label=copyrightTypeObj.label + url=getattr(copyrightTypeObj, 'url', '') + + if url!='': + ret.append((url,copyright[0],copyright[1],copyright[2],label)) + else: + if hasattr(copyrightTypeObj, 'copyright.html'): + ret.append(("""%s?partner=%s"""%(link,copyright[1]),copyright[0],copyright[1],copyright[2],label)) + else: + ret.append(('empty',copyright[0],copyright[1],copyright[2],label)) + except: + """nothing""" + + return ret + + def getInstitutionsHTML(self): + """gibt Liste der foerdernden Institutionen aus""" + + if hasattr(self,'support'): + obj=self.support + ret=obj.getSupporter() + return ret + else: + return '' + + def getOwnerOriginalsHTML(self): + """gibt Liste der foerdernden Institutionen aus""" + + if hasattr(self,'ownerOriginal'): + obj=self.ownerOriginal + ret=obj.getOwner() + return ret + else: + return '' + + def getDigiCopyByHTML(self): + """gibt Liste der foerdernden Institutionen aus""" + + if hasattr(self,'digiCopyBy'): + obj=self.digiCopyBy + ret=obj.getDigiCopyBy() + return ret + else: + return '' def index_html(self): """standard link""" @@ -2193,11 +2302,13 @@ class ECHO_collection(CatalogAware, Fold retStr="