--- ECHO_content/ECHO_collection.py 2004/07/01 07:46:17 1.132 +++ ECHO_content/ECHO_collection.py 2004/07/08 15:23:20 1.136 @@ -719,12 +719,20 @@ class ECHO_resource(Folder,Persistent): def getTitle(self): """title""" - return self.title.decode('utf-8','ignore') - + try: + return self.title.encode('utf-8','ignore') + except: + self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error + return self.title.encode('utf-8','ignore') + def getLabel(self): """title""" - return self.label.decode('utf-8','ignore') - + try: + return self.label.encode('utf-8','ignore') + except: + self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error + return self.label.encode('utf-8','ignore') + def content_html(self): """template fuer content""" return content_html(self,'resource') @@ -888,7 +896,8 @@ class ECHO_resource(Folder,Persistent): self.contentType=self.bib_type for data in self.metadata: data_neu=re.sub('-','_',data) - self.metaDataHash[data_neu]=getattr(self,data)[0:] + self.meta + DataHash[data_neu]=getattr(self,data)[0:] pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resource_metadata.zpt').__of__(self) @@ -1212,11 +1221,12 @@ class ECHO_resource(Folder,Persistent): if RESPONSE: return RESPONSE.redirect('manage_main') - def ECHO_getResourceMD(self,template="yes"): + def ECHO_getResourceMD(self,template="yes",back=None): """Einlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur Resource""" (metadict, error)=readMetadata(self.metalink) - + if back: + self.REQUEST.SESSION['back']=back if not error=="": #Fehler beim Auslesen des Metafiles return "ERROR:",error @@ -1282,6 +1292,7 @@ class ECHO_resource(Folder,Persistent): security.declarePublic('generate_label') # has to be change, presentlyset because of OSAS koordination + def generate_label(self): """Erzeugt_standard_Label aus Template""" pt=getattr(self,"label_template_"+self.contentType.lower()) @@ -1290,6 +1301,7 @@ class ECHO_resource(Folder,Persistent): return pt() security.declarePublic('generate_title') # has to be change, presentlyset because of OSAS koordination + def generate_title(self,RESPONSE=None): """Erzeugt_standard_Label aus Template""" pt=getattr(self,"label_template_"+self.contentType.lower()) @@ -1325,11 +1337,19 @@ class ECHO_externalLink(Folder): def getTitle(self): """title""" - return self.title.encode('utf-8') - + try: + return self.title.encode('utf-8','ignore') + except: + self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error + return self.title.encode('utf-8','ignore') + def getLabel(self): """title""" - return self.label.encode('utf-8') + try: + return self.label.encode('utf-8','ignore') + except: + self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error + return self.label.encode('utf-8','ignore') def content_html(self): """template fuer content""" @@ -1448,6 +1468,18 @@ class ECHO_collection(Folder, Persistent path="/mpiwg/online/permanent/shipbuilding" + def changeLabels(self): + """change form""" + pt=PageTemplateFile('Products/ECHO_content/zpt/changeLabelsForm').__of__(self) + pt.content_type="text/html" + return pt() + + def changeTitles(self): + """change form""" + pt=PageTemplateFile('Products/ECHO_content/zpt/changeTitleForm').__of__(self) + pt.content_type="text/html" + return pt() + def changeAccessRightsCollection(self): """change""" ret="" @@ -1463,7 +1495,36 @@ class ECHO_collection(Folder, Persistent """not""" return ret - + def changeLabelsInCollection(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].label=argv[resource[1].getId()][0:] + except: + """not""" + return ret + + def changeTitlesInCollection(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].title=argv[resource[1].getId()][0:] + except: + """not""" + return ret + def updateCollection(self,RESPONSE=None): """liest verzeichnisse aus dem pfad und legt sie dann als objekte in den ordner""" files=os.listdir(self.path) @@ -1617,14 +1678,20 @@ class ECHO_collection(Folder, Persistent def getTitle(self): """title""" - return self.title.encode('utf-8') - + try: + return self.title.encode('utf-8','ignore') + except: + self.title=self.title.decode('iso-8859-1','ignore')[0:] #correnct conding error + return self.title.encode('utf-8','ignore') + def getLabel(self): """title""" - return self.label.encode('utf-8') - - - + try: + return self.label.encode('utf-8','ignore') + except: + self.label=self.label.decode('iso-8859-1','ignore')[0:] #correnct conding error + return self.label.encode('utf-8','ignore') + def createRessourcesFromXMLForm(self): """form""" pt=PageTemplateFile('Products/ECHO_content/zpt/createRessourcesFromXMLForm.zpt').__of__(self) @@ -1644,6 +1711,7 @@ class ECHO_collection(Folder, Persistent ret+="

"+label+"

" manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","") return ret + def getImageTag(self): """GetTag""" try: @@ -1821,7 +1889,7 @@ class ECHO_collection(Folder, Persistent security.declarePublic('ECHO_rerenderLinksMD') - def ECHO_rerenderLinksMD(self,obj=None): + def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): """Rerender all Links""" ret="" @@ -1834,9 +1902,11 @@ class ECHO_collection(Folder, Persistent if entry[1].meta_type == 'ECHO_resource': try: entry[1].ECHO_getResourceMD(template="no") - entry[1].generate_title() - entry[1].generate_label() - ret+="OK:"+entry[0]+"-- "+entry[1].getLabel().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"
" + if "title" in types: + entry[1].generate_title() + if "label" in types: + entry[1].generate_label() + ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"
" except: ret+="Error:"+entry[0]+"
" @@ -1883,7 +1953,9 @@ class ECHO_collection(Folder, Persistent manage_options = Folder.manage_options+( {'label':'Main Config','action':'ECHO_collection_config'}, - {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'}, + {'label':'Change Labels','action':'changeLabels'}, + {'label':'Change Titles','action':'changeTitles'}, + {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMD'}, {'label':'Graphics','action':'ECHO_graphicEntry'}, {'label':'create resources from XML','action':'createRessourcesFromXMLForm'}, {'label':'Change Viewer Templates','action':'changeViewerTemplateSetsForm'}, @@ -2766,16 +2838,17 @@ class ECHO_root(Folder,Persistent,Implic 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='/:?')) + + if hasattr(resource[1],'link'): + meta_url=echo_url+"/getMetaDataXML" + else: + meta_url="NO_URL" + + if filter and not re.search(filter,viewer_url): + continue + + ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(meta_url,safe='/:?')) + ret +="""\n"""