--- ECHO_content/ECHO_collection.py 2004/06/07 17:14:23 1.105 +++ ECHO_content/ECHO_collection.py 2004/06/18 13:29:18 1.121 @@ -342,7 +342,7 @@ class ECHO_copyright(Folder): pt.content_type="text/html" return pt() - def ECHO_copyright_config(self,title,RESPONSE): + def ECHO_copyright_config(self,title,RESPONSE=None): """change""" self.title=title self.copyrights=[] @@ -488,7 +488,7 @@ class ECHO_resource(Folder,Persistent): return "no fulltext available" def getCopyrightsHTML(self): - """gib link auf copyright notiz aus""" + """gib (link auf copyright notiz, mediatyp, institution, copyrightType, label von copyrightType) aus""" if hasattr(self,'copyrightModell'): obj=self.copyrightModell @@ -502,8 +502,17 @@ class ECHO_resource(Folder,Persistent): link="copyrightTypes/"+copyright[2]+'/copyright.html' try: - label=getattr(self.copyrightTypes,copyright[2]).label - ret.append(("""%s"""%(link,label),copyright[0],copyright[0],copyright[1],copyright[2])) + copyrightTypeObj=getattr(self.copyrightTypes,copyright[2]) + label=copyrightTypeObj.label + url=copyrightTypeObj.url + + if url!='': + ret.append(("""%s"""%(url,label),copyright[0],copyright[1],copyright[2],label)) + else: + if hasattr(copyrightTypeObj, 'copyright.html'): + ret.append(("""%s\(%s\)"""%(link,copyright[1],label,copyright[0]),copyright[0],copyright[1],copyright[2],label)) + else: + ret.append((label,copyright[0],copyright[1],copyright[2],label)) except: """nothing""" @@ -1392,6 +1401,7 @@ class ECHO_collection(Folder, Persistent for entry in entries: if entry[1].meta_type == 'ECHO_resource': entry[1].ECHO_getResourceMD(template="no") + entry[1].generate_title() else: self.ECHO_rerenderLinksMD(entry[1]) @@ -2127,7 +2137,7 @@ class ECHO_root(Folder,Persistent,Implic if str: str=re.sub("\&","&",str) - dom=xml.dom.minidom.parseString(""+str+"") + dom=xml.dom.minidom.parseString(""+str+"") links=dom.getElementsByTagName("link") @@ -2137,9 +2147,31 @@ class ECHO_root(Folder,Persistent,Implic if self.checkRef(ref): link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) - return dom.toxml('utf-8') + newxml=dom.toxml('utf-8') + match=re.sub(r'<\?xml version=\"1.0\" encoding=\"utf-8\"\?>\n','',newxml) + match=re.sub(r'','',match) + + return match + return "" + def xml2html(self,str): + """link2html fuer VLP muss hier noch raus""" + if str: + + str=re.sub("\&","&",str) + dom=xml.dom.minidom.parseString(str) + links=dom.getElementsByTagName("link") + + + for link in links: + link.tagName="a" + ref=link.getAttribute("ref") + if self.checkRef(ref): + link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) + + return dom.toxml('utf-8') + return "" def checkRef(self,ref): dbs={'vl_literature':'AND CD LIKE \'%lise%\'','vl_technology':'','vl_people':''} @@ -2275,6 +2307,49 @@ class ECHO_root(Folder,Persistent,Implic self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml") self.REQUEST.RESPONSE.write(ret) + + + def getMetaDatasXML(self,viewerType=None,filter=None): + """gebe all ressourcen aus""" + ret=""" + """ + for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1): + + echo_url=resource[1].absolute_url() + if resource[1].getFullTextXML(noredirect="yes"): + if hasattr(resource[1],'link'): + viewer_url=echo_url+"/getMetaDataXML" + else: + viewer_url="NO URL" + if filter: + if re.search(filter,viewer_url): + ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) + else: + ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) + ret +="""\n""" + + + self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml") + self.REQUEST.RESPONSE.write(ret) + + + def findPartners(self): + """find all partners in partners""" + par=self.ZopeFind(self.partners, obj_metatypes='ECHO_partner') + return par + + def getPartnerFromID(self): + """find partner form ID return object""" + pa=self.REQUEST['partner'] + par=self.ZopeFind(self.partners, obj_ids=[pa]) + return par + + def getPartnerFromIDParameter(self, id): + """ find partners from ID""" + par=self.ZopeFind(self.partners, obj_ids=[id]) + return par + + def manage_addECHO_root(self,id,title,RESPONSE=None): """Add an ECHO_root""" @@ -2293,11 +2368,12 @@ class ECHO_copyrightType(Folder): meta_type="ECHO_copyrightType" - def __init__(self,id,title,label): + def __init__(self,id,title,label,url): """init""" self.id=id self.title=title self.label=label + self.url=url manage_options = Folder.manage_options+( {'label':'Main Config','action':'ECHO_copyrightType_config_mainForm'}, @@ -2309,10 +2385,11 @@ class ECHO_copyrightType(Folder): pt.content_type="text/html" return pt() - def ECHO_copyrightType_config_main(self,title,label,RESPONSE=None): + def ECHO_copyrightType_config_main(self,title,label,url,RESPONSE=None): """change""" self.title=title self.label=label + self.url=url if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -2323,10 +2400,10 @@ def manage_addECHO_copyrightTypeForm(sel return pt() -def manage_addECHO_copyrightType(self,id,title,label,RESPONSE=None): +def manage_addECHO_copyrightType(self,id,title,label,url,RESPONSE=None): """addaresource""" - newObj=ECHO_copyrightType(id,title,label) + newObj=ECHO_copyrightType(id,title,label,url) self._setObject(id,newObj)