--- ECHO_content/ECHO_collection.py 2004/08/05 12:53:58 1.158 +++ ECHO_content/ECHO_collection.py 2004/08/09 10:10:56 1.162 @@ -48,6 +48,13 @@ import xml.dom.minidom from ECHO_graphicalOverview import javaHandler,javaScriptMain import ECHO_helpers +#regexp for extracting elements from xml +patternTXT=r"<\s*txt.*?>(.*?)" +regexpTXT = re.compile(patternTXT, re.IGNORECASE + re.DOTALL) +patternPage=r"<\s*page.*?>(.*?)" +regexpPage = re.compile(patternPage, re.IGNORECASE + re.DOTALL) + + def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): """Rerender all Links""" ret="" @@ -998,7 +1005,7 @@ class ECHO_resource(Folder,Persistent): return ret def getInstitutionsHTML(self): - """gibt Liste der fšrdernden Institutionen aus""" + """gibt Liste der fšrdernden Institutionen aus""" if hasattr(self,'support'): obj=self.support @@ -1042,7 +1049,7 @@ class ECHO_resource(Folder,Persistent): def getCoords(self): - """gibt coordinaten als String zurück und löscht zugleich einträge die keine Koordinaten sind, letzteres zur korrektur der Eingabe der alten version""" + """gibt coordinaten als String zurück und löscht zugleich einträge die keine Koordinaten sind, letzteres zur korrektur der Eingabe der alten version""" retList=[] if hasattr(self,'coords'): for x in self.coords: @@ -1120,7 +1127,7 @@ class ECHO_resource(Folder,Persistent): def changeECHO_resource_main(self,metalink,link,title,label,description,contentType,renderingType,weight,resourceID,RESPONSE=None): - """Änderung der Properties""" + """Änderung der Properties""" self.resourceID=resourceID self.title=title self.label=label @@ -1138,7 +1145,7 @@ class ECHO_resource(Folder,Persistent): def changeECHO_resource_coords(self,coords,viewClassification,RESPONSE=None): - """Änderung der Properties - coords""" + """Änderung der Properties - coords""" if type(coords)==StringType: coords=[coords] @@ -1155,7 +1162,7 @@ class ECHO_resource(Folder,Persistent): RESPONSE.redirect('manage_main') def changeECHO_resource_credits(self,credits,responsible,copyrightType,RESPONSE=None): - """Änderung der Properties""" + """Änderung der Properties""" self.credits=credits self.responsible=responsible self.copyrightType=copyrightType @@ -1223,7 +1230,7 @@ class ECHO_resource(Folder,Persistent): return writeMetadata(self.metalink,self.metaDataHash) def changeECHO_resource(self,metalink,link,title,label,description,contentType,responsible,weight,viewClassification="",coords=None,credits=None,RESPONSE=None): - """Änderung der Properties""" + """Änderung der Properties""" try: coordsnew=[ string.split(x,",") for x in coords] @@ -1495,7 +1502,7 @@ class ECHO_resource(Folder,Persistent): if sp: return sp[1]() - #prüfen ob irgendwo ein template + #prüfen ob irgendwo ein template if hasattr(self,'startpage_index_template'): return self.startpage_index_template() @@ -1609,7 +1616,7 @@ class ECHO_externalLink(Folder): def changeECHO_externalLink(self,link,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None): - """Änderung der Properties""" + """Änderung der Properties""" try: coordsnew=[ string.split(x,",") for x in coords] except: @@ -1723,7 +1730,8 @@ class ECHO_collection(Folder, Persistent return ret - + + def changeLabels(self): """change form""" pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self) @@ -1735,7 +1743,12 @@ class ECHO_collection(Folder, Persistent pt=PageTemplateFile('Products/ECHO_content/zpt/changeTitleForm').__of__(self) pt.content_type="text/html" return pt() - + + def changeMetaDataLinks(self): + """change form""" + pt=PageTemplateFile('Products/ECHO_content/zpt/changeMetaDataLinkForm').__of__(self) + pt.content_type="text/html" + return pt() def changeAccessRightsCollection(self): """change""" ret="" @@ -1751,6 +1764,21 @@ class ECHO_collection(Folder, Persistent """not""" return ret + def changeMetaDataLinkInCollection(self): + """change all lables of a collection""" + ret="" + argv=self.REQUEST.form + + resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) + for resource in resources: + + try: + ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" + resource[1].metalink=argv[resource[1].getId()][0:] + except: + """not""" + return ret + def changeLabelsInCollection(self): """change all lables of a collection""" ret="" @@ -1853,7 +1881,7 @@ class ECHO_collection(Folder, Persistent def isSelectedViewerTemplateSet(self,obj,id): - """is ausgewählt""" + """is ausgewählt""" if self.REQUEST['viewerTemplateSet']==id: return 1 @@ -2512,7 +2540,7 @@ class ECHO_group(ECHO_collection): return pt() def changeECHO_group(self,title,label,description,contentType,responsible,weight,secondaryLink,secondaryLinkTitle,credits=None,sortfield="weight",coords=None,RESPONSE=None,imageTag="",bgcolour="",logo=""): - """Änderung der Properties""" + """Änderung der Properties""" self.secondaryLink=secondaryLink self.secondaryLinkTitle=secondaryLinkTitle @@ -2750,7 +2778,7 @@ class ECHO_root(Folder,Persistent,Implic def getBibTag(self,tag,content): - """get field tag für index-meta-generation""" + """get field tag für index-meta-generation""" if not content or content=="": return "" ret="<%s>"%tag @@ -2888,7 +2916,7 @@ class ECHO_root(Folder,Persistent,Implic """nothing""" return retStr - mediaTypes=['all','text','images','sound','video'] # konfigurierbar in neuer version über echoroot?? + mediaTypes=['all','text','images','sound','video'] # konfigurierbar in neuer version über echoroot?? def mediaTypeSelector_HTML(self,selected=None): """give type selector""" @@ -3030,18 +3058,19 @@ class ECHO_root(Folder,Persistent,Implic link.setAttribute("href",self.aq_parent.absolute_url()+"/vlp_coll?id="+ref) 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 + + retStr=regexpTXT.search(newxml) + + return retStr.group(1) + return "" - def xml2html(self,str): + def xml2html(self,str,quote="yes"): """link2html fuer VLP muss hier noch raus""" if str: - - str=re.sub("\&","&",str) + if quote=="yes2": + str=re.sub("\&","&",str) dom=xml.dom.minidom.parseString(str) links=dom.getElementsByTagName("link") @@ -3052,7 +3081,11 @@ 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') + str= dom.toxml('utf-8') + #print str + retStr=regexpPage.search(str) + + return retStr.group(1) return "" def checkRef(self,ref): @@ -3488,15 +3521,15 @@ def manage_addECHO_linkList(self, id, la class ECHO_support(Folder): - """gefšrdert durch""" + """gefšrdert durch""" meta_type="ECHO_support" def __init__(self,id,institutions=None): """init""" - ##self.title=title self.id=id + self.title='' self.institutions=toList(institutions) def getSupporter(self): @@ -3518,7 +3551,6 @@ class ECHO_support(Folder): def ECHO_support_config(self,institutions=None,RESPONSE=None): """change""" - ##self.title=title self.institutions=toList(institutions) if RESPONSE is not None: @@ -3530,7 +3562,7 @@ def manage_addECHO_supportForm(self): pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_support.zpt').__of__(self) return pt() -def manage_addECHO_support(self, id,title,institutions=None,RESPONSE=None): +def manage_addECHO_support(self, id,institutions=None,RESPONSE=None): """add the copyright""" meta_type="ECHO_support" @@ -3620,4 +3652,4 @@ def manage_addECHO_institution(self, id, try: url=self.DestinationURL() except: url=REQUEST['URL1'] REQUEST.RESPONSE.redirect('%s/manage_main' % url) - return id \ No newline at end of file + return id