--- ECHO_content/ECHO_collection.py 2004/06/08 12:42:16 1.106
+++ ECHO_content/ECHO_collection.py 2004/06/18 13:24:20 1.120
@@ -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,12 +2307,50 @@ 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_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"""
self._setObject(id,ECHO_root(id,title))
@@ -2298,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'},
@@ -2314,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')
@@ -2328,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)