--- ECHO_content/ECHO_collection.py 2004/05/28 10:43:05 1.93 +++ ECHO_content/ECHO_collection.py 2004/06/05 10:04:33 1.97 @@ -88,11 +88,11 @@ def content_html(self,type): # #if templates: # return templates[0][1]() - - try: + + if hasattr(self,type+"_template"): obj=getattr(self,type+"_template") return obj() - except: + else: pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_%s_template_standard.zpt'%type).__of__(self) pt.content_type="text/html" return pt() @@ -243,6 +243,7 @@ def readMetadata(url): for node in metacontent: try: + #print urllib.unquote(getText(node.childNodes)),getText(node.childNodes) metadict[re.sub('-','_',node.tagName.lower())]=urllib.unquote(getText(node.childNodes)) except: """nothing""" @@ -444,7 +445,15 @@ class ECHO_resource(Folder,Persistent): def getCopyright(self): """gib link auf copyright notiz aus""" - return """copyright""" + if hasattr(self,'copyrightType') and hasattr(self.copyrightTypes,self.copyrightType): + obj=getattr(self.copyrightTypes,self.copyrightType) + else: + obj=getattr(self.copyrightTypes,'generic') + + label=obj.label + link="copyrightTypes/"+obj.getId()+'/copyright.html' + + return """%s"""%(link,label) def getCredits(self): """Ausgabe der credits""" @@ -453,7 +462,7 @@ class ECHO_resource(Folder,Persistent): else: return [] - def __init__(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords): + def __init__(self,id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords): self.id = id """Festlegen der ID""" @@ -466,6 +475,7 @@ class ECHO_resource(Folder,Persistent): self.credits=toList(credits) self.description=description self.contentType=contentType + self.copyrightType=copyrightType self.renderingType=renderingType self.responsible=responsible self.resourceID=resourceID @@ -662,7 +672,7 @@ class ECHO_resource(Folder,Persistent): manage_options = Folder.manage_options+( {'label':'Main Config','action':'ECHO_resource_config_main'}, - {'label':'Change Credits & Copyright','action':'ECHO_resource_config_credits'}, + {'label':'Change Partners & Copyright','action':'ECHO_resource_config_credits'}, {'label':'Change Metadata','action':'ECHO_resource_config_metadata'}, {'label':'Change Coords','action':'ECHO_resource_config_coords'}, {'label':'Add coords','action':'ECHO_graphicEntry'}, @@ -829,16 +839,19 @@ class ECHO_resource(Folder,Persistent): def copyIndex_meta2echo_resource(self,RESPONSE=None): """copy MD von Index_meta to the echo_resource""" - + (metadict, error)=readMetadata(self.metalink) self.metaDataHash={} if not error=="": #Fehler beim Auslesen des Metafiles return "ERROR:",error fields=self.findTagsFromMapping(self.contentType) + #fields=self.findLabelsFromMapping(self.contentType) for field in fields[1]: + if self.isDefinedInThisSet(fields,field): + #print urllib.unquote(metadict.get(self.getFieldTag(fields,field),'')) self.setFieldValue(self.getFieldTag(fields,field),metadict.get(self.getFieldTag(fields,field),'')) @@ -937,10 +950,10 @@ def manage_addECHO_resourceForm(self): -def manage_addECHO_resource(self,id,title,label,description,responsible,link,metalink,weight,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None): +def manage_addECHO_resource(self,id,title,label,description,responsible,link,metalink,weight,copyrightType=None,resourceID=None,contentType=None,renderingType=None,credits=None,coords=None,RESPONSE=None): """addaresource""" - newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,responsible,credits,weight,coords) + newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords) self._setObject(id,newObj) @@ -1781,14 +1794,17 @@ class ECHO_root(Folder,Persistent,Implic if not content or content=="": return "" ret="<%s>"%tag - ret+=urllib.quote(content) + #ret+=urllib.quote(content) + ret+=content + ret+=""%tag return ret def getValueFromClass(self,field,found): """retattribute falss existing""" try: - return getattr(found,field) + + return getattr(found,field).decode('ascii','ignore') except: return ""