--- ECHO_content/ECHO_collection.py 2004/12/02 12:01:08 1.195 +++ ECHO_content/ECHO_collection.py 2005/06/20 14:42:19 1.226 @@ -39,6 +39,7 @@ from Globals import Persistent, package_ from Acquisition import Implicit import urllib +import cgi import smtplib import time from Ft.Xml.Domlette import NonvalidatingReader @@ -61,11 +62,10 @@ import xml.dom.minidom import urllib import xml.dom.minidom -from ECHO_graphicalOverview import javaHandler,javaScriptMain import ECHO_helpers from ECHO_helpers import * from ECHO_language import * - +from ECHO_movie import * #regexp for extracting elements from xml patternTXT=r"<\s*txt.*?>(.*?)" @@ -75,12 +75,10 @@ regexpPage = re.compile(patternPage, re. -def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs,viewClassification=""): +def setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordstrs=""): """Allegemeine Informationen zu einer ECHO Collection""" - self.viewClassification=viewClassification - self.label = label self.title=title self.description=description @@ -89,22 +87,6 @@ def setECHO_collectionInformation(self,t self.credits=toList(credits) self.weight=weight - coords=[] - #coordinates of for rectangles - - - if coordstrs: - for coordstr in coordstrs: - - try: - temco=coordstr.split(",") - except: - temco=[] - - coords.append(temco) - - - self.coords=coords[0:] class ECHO_copyright(Folder,ECHO_basis): """Copyright informationen""" @@ -170,18 +152,12 @@ class ECHO_layoutTemplate(ZopePageTempla def __init__(self, id, text=None, content_type=None,EchoType=None): self.id = str(id) - - self.ZBindings_edit(self._default_bindings) if text is None: - self._default_content_fn = os.path.join(package_home(globals()), - 'zpt/ECHO_%s_template_standard.zpt'%EchoType) + self._default_content_fn = os.path.join(package_home(globals()),'zpt','ECHO_%s_template_standard.zpt'%EchoType) text = open(self._default_content_fn).read() self.pt_edit(text, content_type) - - """change form""" - def manage_addECHO_layoutTemplateForm(self): """Form for adding""" @@ -236,10 +212,11 @@ class ECHO_fullText(ZopePageTemplate,ECH def getPage(self,nr='1'): """get page n""" - dom=xml.dom.minidom.parseString(self()) + #return self().encode('latin-1','ignore') + dom=xml.dom.minidom.parseString(self().encode('utf-8','ignore')) pages=dom.getElementsByTagName('page') - return pages[int(nr)-1].toxml('utf-8') + return pages[int(nr)-1].toxml() # Product registration and Add support manage_addECHO_fullTextForm = PageTemplateFile( @@ -282,13 +259,10 @@ class ECHO_resource(Folder,Persistent,EC security=ClassSecurityInfo() meta_type='ECHO_resource' - viewClassificationList=viewClassificationListMaster +# viewClassificationList=viewClassificationListMaster getSubCols = ECHO_helpers.getSubCols - security.declareProtected('View','index_html') - - security.declareProtected('View','createPDF') def createPDF(self,RESPONSE=None,local=None,dpi=150): @@ -585,7 +559,7 @@ class ECHO_resource(Folder,Persistent,EC startpage=self.createImageUrl() params="startpage=%s"%startpage - print 'http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params)) + #print 'http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params)) ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() @@ -679,16 +653,16 @@ class ECHO_resource(Folder,Persistent,EC - + security.declarePublic('content_html') def content_html(self): """template fuer content""" return ECHO_basis.content_html(self,'resource') - def getViewClassification(self): - if hasattr(self,'viewClassification'): - return self.viewClassification - else: - return "" +# def getViewClassification(self): +# if hasattr(self,'viewClassification'): +# return self.viewClassification +# else: +# return "" def getFullTextXML(self,noredirect=None): """getFullTextXML; gives the FullText as an XML Document, and if somthing goes wrong.""" @@ -842,7 +816,7 @@ class ECHO_resource(Folder,Persistent,EC coordsnew=[] self.coords=coordsnew - self.viewClassification="" +# self.viewClassification="" @@ -992,7 +966,7 @@ class ECHO_resource(Folder,Persistent,EC def getMDValue(self,fieldName,empty=None): - if empty: + if not empty: return self.metaDataHash.get(fieldName,'!!NOT USED HERE in Type: %s'%self.contentType) else: @@ -1024,17 +998,10 @@ class ECHO_resource(Folder,Persistent,EC self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') 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): + def changeECHO_resource(self,metalink,link,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None): """Aenderung der Properties""" - try: - coordsnew=[ string.split(x,",") for x in coords] - except: - coordsnew=[] - - setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew) - self.viewClassification=viewClassification - self.coords=coordsnew[0:] + setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight) self.link=link self.metalink=metalink @@ -1045,39 +1012,13 @@ class ECHO_resource(Folder,Persistent,EC manage_options = Folder.manage_options+( {'label':'Main Config','action':'ECHO_resource_config_main'}, {'label':'Change Metadata','action':'ECHO_resource_config_metadata'}, - {'label':'Edit Coords','action':'ECHO_resource_config_coords'}, - {'label':'Change Coords','action':'ECHO_graphicEntry'}, + {'label':'Graphic Coords','action':'ECHO_graphicEntry'}, {'label':'Sync Metadata','action':'ECHO_getResourceMD'}, {'label':'Change TemplateSets and Image Viewer','action':'changeViewerTemplateSetForm'}, {'label':'set/change startpage','action':'setStartPageForm'}, {'label':'Copy MD for indexing and search','action':'copySearchFields'}, ) - def getOverview(self): - """overview graphics""" - return self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['overview'])[0][1] - - def ECHO_graphicEntry(self): - """DO nothing""" - overview = self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['overview']) - if overview: - pt=zptFile(self, 'zpt/ECHO_draw.zpt') - return pt() - else: - return "NO OVERVIEW GRAPHICS" - - def ECHO_enterCoords(self,coordstr,angle="",RESPONSE=None): - """Enter coords""" - coords=self.coords - temco=coordstr.split(",") - temco.append(angle) - coords.append(temco) - - self.coords=coords[0:] - - if RESPONSE is not None: - RESPONSE.redirect('ECHO_graphicEntry') - def isDefinedInThisSet(self,fields,field): """checks if field is defined in fields""" @@ -1122,7 +1063,8 @@ class ECHO_resource(Folder,Persistent,EC if ret == "": return None else: - return ret + + return ret except: return None @@ -1159,7 +1101,9 @@ class ECHO_resource(Folder,Persistent,EC retdata={} fields=[] fieldlist=self.standardMD.fieldList - + + tags=self.findTagsFromMapping(self.contentType) + self.referencetypes=tags[2] for referenceTypeF in self.referencetypes: if referenceTypeF[1].title.lower() == referenceType.lower(): @@ -1254,7 +1198,9 @@ class ECHO_resource(Folder,Persistent,EC if not error=="": #Fehler beim Auslesen des Metafiles return "ERROR:",error - + if not self.contentType: + self.contentType=metadict['bib_type'].lower() + if not (metadict['bib_type'].lower()==self.contentType.lower()): self.REQUEST.SESSION['contentStorage']=metadict['bib_type'] self.REQUEST.SESSION['contentZope']=self.contentType @@ -1292,12 +1238,13 @@ class ECHO_resource(Folder,Persistent,EC return None + security.declareProtected('View','index_html') def index_html(self): """standard page""" pdf=self.checkRDF(self.link) if pdf: fh=file(pdf,'r').read() - self.REQUEST.RESPONSE.setHeader('Content-Type','x-Application/pdf') + self.REQUEST.RESPONSE.setHeader('Content-Type','application/pdf') self.REQUEST.RESPONSE.write(fh) self.REQUEST.RESPONSE.close() return @@ -1359,8 +1306,8 @@ def manage_addECHO_resourceForm(self): -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""" +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): + """addresource""" newObj=ECHO_resource(id,link,metalink,resourceID,title,label,description,contentType,renderingType,copyrightType,responsible,credits,weight,coords) @@ -1375,7 +1322,7 @@ class ECHO_externalLink(Folder,ECHO_basi security=ClassSecurityInfo() meta_type='ECHO_externalLink' - + security.declarePublic('content_html') def content_html(self): """template fuer content""" return ECHO_basis.content_html(self,'externalLink') @@ -1411,16 +1358,9 @@ class ECHO_externalLink(Folder,ECHO_basi def changeECHO_externalLink(self,link,title,label,description,contentType,responsible,weight,coords=None,credits=None,RESPONSE=None): - """Aenderung der Properties""" - try: - coordsnew=[ string.split(x,",") for x in coords] - except: - coordsnew=[] + setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight) - setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coords) - - self.coords=coordsnew[0:] self.link=link if RESPONSE is not None: RESPONSE.redirect('manage_main') @@ -1428,6 +1368,7 @@ class ECHO_externalLink(Folder,ECHO_basi manage_options = Folder.manage_options+( {'label':'Main Config','action':'ECHO_externalLink_config'}, + {'label':'Graphic Coords','action':'ECHO_graphicEntry'}, ) @@ -1458,21 +1399,41 @@ class ECHO_link(ECHO_externalLink): meta_type="ECHO_link" - + def content_html(self): """template fuer link""" if hasattr(self,"link_template"): return ECHO_basis.content_html(self,'link') else: return ECHO_basis.content_html(self,'collection') - + + def index_html(self): + """standard link""" + + splitted=self.link.split("?") + if len(splitted)>1: + params=cgi.parse_qs(splitted[1]) + + for x in params.keys(): + if type(params[x]) is ListType: + params[x]=params[x][0] + + + else: + params={} + + params['backLink']=self.aq_parent.absolute_url() + + + return self.REQUEST.RESPONSE.redirect(splitted[0]+"?"+urllib.urlencode(params)) + def manage_addECHO_linkForm(self): """Form for external Links""" pt=zptFile(self, 'zpt/AddECHO_linkForm.zpt') return pt() -def manage_addECHO_link(self,id,title,label,description,contentType,responsible,link,weight,coords=None,credits=None,RESPONSE=None): +def manage_addECHO_link(self,id,title,label,description="",contentType="",responsible="",link="",weight="",coords=[],credits=None,RESPONSE=None): """Add an external Link""" newObj=ECHO_link(id,link,title,label,description,contentType,responsible,credits,weight,coords) @@ -1488,7 +1449,7 @@ class ECHO_collection(Folder, Persistent security=ClassSecurityInfo() meta_type='ECHO_collection' - viewClassificationList=viewClassificationListMaster +# viewClassificationList=viewClassificationListMaster displayTypes=displayTypes path="/mpiwg/online/permanent/shipbuilding" @@ -1552,7 +1513,7 @@ class ECHO_collection(Folder, Persistent ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" resource[1].changeAccessRightMD(argv[resource[1].getId()]) except: - """not""" + pass return ret def changeMetaDataLinkInCollection(self): @@ -1567,7 +1528,7 @@ class ECHO_collection(Folder, Persistent ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" resource[1].metalink=argv[resource[1].getId()][0:] except: - """not""" + pass return ret def changeMetaDataLinkInCollection(self): @@ -1582,7 +1543,7 @@ class ECHO_collection(Folder, Persistent ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" resource[1].metalink=argv[resource[1].getId()][0:] except: - """not""" + pass return ret def changeWeightsInCollection(self): @@ -1590,14 +1551,14 @@ class ECHO_collection(Folder, Persistent ret="" argv=self.REQUEST.form - resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink']) + resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink']) for resource in resources: try: ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" resource[1].weight=argv[resource[1].getId()][0:] except: - """not""" + pass return ret def changeTitlesInCollection(self): @@ -1605,16 +1566,31 @@ class ECHO_collection(Folder, Persistent ret="" argv=self.REQUEST.form - resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource']) + resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink']) for resource in resources: try: ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" resource[1].title=argv[resource[1].getId()][0:] except: - """not""" + pass return ret - + + def changeLabelsInCollection(self): + """change all lables of a collection""" + ret="" + argv=self.REQUEST.form + + resources=self.ZopeFind(self,obj_metatypes=['ECHO_pageTemplate','ECHO_movie','ECHO_resource','ECHO_collection','ECHO_link','ECHO_externalLink']) + for resource in resources: + + try: + ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" + resource[1].label=argv[resource[1].getId()][0:] + except: + pass + 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) @@ -1800,11 +1776,11 @@ class ECHO_collection(Folder, Persistent """nothing""" return retStr - def getViewClassification(self): - if hasattr(self,'viewClassification'): - return self.viewClassification - else: - return "" +# def getViewClassification(self): +# if hasattr(self,'viewClassification'): +# return self.viewClassification +# else: +# return "" def createRessourcesFromXMLForm(self): @@ -1826,7 +1802,8 @@ class ECHO_collection(Folder, Persistent ret+="

"+label+"

" manage_addECHO_resource(self,id,label.encode('ascii'),label.encode('ascii'),"","","",link.encode('ascii'),"","") return ret - + + security.declarePublic('getImageTag') def getImageTag(self): """GetTag""" try: @@ -1834,6 +1811,23 @@ class ECHO_collection(Folder, Persistent except: return "" + + def addMovie(self,id,title,label,description,contentType,responsible,link,thumbUrl,rawFile,lowresFile,metalink,weight,credits=None,coords=None,RESPONSE=None): + """SSS""" + print "we are here" + #manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,metalink,weight,credits=None,coords=None,RESPONSE=None) + if not hasattr(self,id): + try: + manage_addECHO_movie(self,id,title,label,description,responsible,link,thumbUrl,rawFile,lowresFile,metalink,weight,credits=None,coords=None,RESPONSE=None) + return "done" + except: + return None + else: + obj=getattr(self,id) + obj.changeECHO_movie_main(metalink,link,rawFile,lowresFile,thumbUrl,title,label,description,contentType,weight=weight) + + return "changed" + def addResource(self,id,title,label,description,contentType,responsible,link,metalink,weight,credits=None,coords=None,RESPONSE=None): """SSS""" try: @@ -1856,140 +1850,38 @@ class ECHO_collection(Folder, Persistent except: return "" - def getCollectionTreeXML(self): + def getCollectionTreeXML(self,pwstr=None): """Tree as XML""" - def addPassWd(str): + def addPassWd(str,pwstr=None): """adds a user/passwd to an url""" - txt2=re.sub(r"(http://)(.*?)","\g<1>www:3333@\g<2>",str) + if pwstr: + txt2=re.sub(r"(http://)(.*?)","\g<1>%s@\g<2>"%pwstr,str) + else: + txt2=re.sub(r"(http://)(.*?)","\g<1>www:3333@\g<2>",str) return txt2 - def getCollection(object,depth=0): + def getCollection(object,depth=0,pwstr=None): depth+=1 collections="" for entry in object.__dict__.keys(): element=getattr(object,entry) try: if element.meta_type in ["ECHO_collection","ECHO_group"]: - collections+="" + collections+="" collections+=getCollection(element,depth)+"\n" except: """nothing""" return collections ret="""""" - return ret+""+getCollection(self)+"" + return ret+""+getCollection(self,pwstr=pwstr)+"" - def createJavaScript(self): - """OLD CreateJava""" - ret=javaScriptMain - - dynamical="\n" - for ob in self.getGraphicCoords(): - if ob[4][4] == "": - dynamical+="""Coords.push(new Coord('%s', Img, %s));\n"""%(ob[1],ob[0]) - else: - dynamical+="""Coords.push(new Coord('%s', Img, %s));//%s\n"""%(ob[1],ob[0],ob[4][4]) - dynamical+="ShowArrow(new getObj('i.%s'),Img,%s);\n"%(ob[1],ob[0]) - ret+=javaHandler%dynamical - return ret - - def newMapArea(self, id, coords=None): - """returns a new MapArea""" - if coords is None: - coords = [0,0,0,0] - return MapArea(id, coords) - - def createJSAreas(self, areas): - """create area calls for JavaScript""" - dynamical="\n" - for ob in areas: - if ob.isTypeArrow(): - dynamical+="""addArea('%s', 'overview', %s, 'arrow');\n"""%(ob.getFullId(),ob.getCoordString()) - else: - dynamical+="""addArea('%s', 'overview', %s, 'area');\n"""%(ob.getFullId(),ob.getCoordString()) - return dynamical - def createAllJSAreas(self): """create area calls for JavaScript""" areas = self.getAllMapAreas() return self.createJSAreas(areas) - def createMapHead(self): - """create javascript include and script tags for head""" - pt=zptFile(self, 'zpt/ECHO_content_map_frag_js') - return pt() - - def createMapImg(self): - """generate img-tag for map""" - bt = BrowserCheck(self) - tag = "" - src = self.REQUEST['URL1'] + "/overview" - if bt.isN4: - tag += ''%src - else: - tag += ''%src - return tag - - def createMapLink(self, ob, text=None): - """generate map link""" - bt = BrowserCheck(self) - id = ob.getFullId() - link = ob.getLinkId() - if text is None: - text = ob.getLabel() - if text is None: - text = "link" - tag = "" - if bt.isN4: - tag += '" - else: - tag = '" - return tag - - def createMapAux(self, ob, arrowsrc="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=icons/pfeil"): - """generate map link image, text and other stuff""" - bt = BrowserCheck(self) - id = ob.getFullId() - link = ob.getLinkId() - tiptext = ob.getText() - tag = "" - - if bt.isN4: - tag += ''%(id,id,id) - if ob.isTypeArrow(): - rot = ob.angle - tag += ''%(link,arrowsrc,rot) - else: - tag += ''%(id,id,id,link) - if ob.isTypeArrow(): - rot = ob.angle - if bt.isIEWin and bt.versIE > 5: - tag += ''%(id,arrowsrc,rot,arrowsrc,rot) - else: - tag += ''%(id,arrowsrc,rot) - else: - if bt.isIEWin: - tag += '
0: - # delete old MapAreas - for areas in self.ZopeFind(col, obj_metatypes=['MapArea']): - #area = areas[1] - id = areas[0] - print " deleting: ", id - msg += " deleting: "+id+"\n" - col._delObject(id) - # add new MapAreas - areacnt = 0 - for coord in coords: - if len(coord) < 4: - continue - type = col.viewClassification - if type == 'view point': - type = 'arrow' - if type is None: - if len(coord) > 4: - type = 'arrow' - else: - type = 'area' - newid = "a%02d"%areacnt - areacnt += 1 - area = MapArea(newid, coord, type=type) - print " adding: ", newid - msg += " adding: "+newid+"\n" - col.addMapArea(area) print "added" - - msg += "\nDone!" - return msg getSubCols = ECHO_helpers.getSubCols @@ -2292,7 +2117,7 @@ def manage_addECHO_collectionForm(self): return pt() -def manage_addECHO_collection(self,id,title,label,description,contentType,responsible,weight,sortfield,coords="",secondaryLinkTitle="",secondaryLink="",credits=None,RESPONSE=None,imageTag="",bgcolour=""): +def manage_addECHO_collection(self,id,title,label,description="",contentType="",responsible="",weight=0,sortfield="weight",coords="",secondaryLinkTitle="",secondaryLink="",credits=None,RESPONSE=None,imageTag="",bgcolour=""): """add a echo collection""" @@ -2311,7 +2136,7 @@ class ECHO_group(ECHO_collection): manage_options = Folder.manage_options+( {'label':'Main Config','action':'ECHO_group_config'}, {'label':'Rerender Links','action':'ECHO_rerenderLinksMDWarning'}, - {'label':'Graphics','action':'ECHO_graphicEntry'}, + {'label':'Graphic Coords','action':'ECHO_graphicEntry'}, ) security.declareProtected('View','index_html') @@ -2384,14 +2209,7 @@ class ECHO_group(ECHO_collection): self.bgcolour=bgcolour self.logo=logo - if coords: - coordsnew=[ string.split(x,",") for x in coords] - self.coords=coordsnew[0:] - else: - coordsnew=None - self.coords=None - - setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight,coordsnew) + setECHO_collectionInformation(self,title,label,description,contentType,responsible,credits,weight) @@ -2407,6 +2225,7 @@ class ECHO_group(ECHO_collection): except: return "ECHO_groups" + security.declarePublic('content_html') def content_html(self): """template fuer content""" return ECHO_basis.content_html(self,'group') @@ -2588,7 +2407,31 @@ class ECHO_root(Folder,Persistent,Implic meta_type="ECHO_root" - ###CDLI adds -> have to be removed + def printer(self,txt): + print txt + print txt[2] + print txt[2].getImageTag() + print "HO" + return txt[2].getImageTag() + + def printer2(self,txt): + print txt + + + def item2(self,txt): + return txt[2] + + def getContentOverviewTemplate(self): + """produces overview template with macro""" + pt = zptObjectOrFile(self, 'content_overview_template') + return pt + + def mapstyle_css(self): + """send mapstyle.css""" + sendFile(self, 'html/ECHO_mapstyle.css', 'text/css') + + + ###Cdli adds -> have to be removed def getTablet(self,item): #print "getTablet" try: @@ -2601,8 +2444,17 @@ class ECHO_root(Folder,Persistent,Implic ###END CDLI add + def URLquote(self, text): + """urllib.quote fuer Michael""" + return urllib.quote(text) + + def checkResource(self,id): """checks if a resource is in the tree, gives back none or list of resources""" + if not id: + id="" + splitted=id.split("/") + id=splitted[len(splitted)-1] if hasattr(self,"_v_checkResource") and self._v_checkResource.has_key(id): #existiert ein cache und id ist bereits drin? return self._v_checkResource[id] @@ -2743,7 +2595,7 @@ class ECHO_root(Folder,Persistent,Implic ret+=resource[1].getId()+" "+argv[resource[1].getId()]+"
" resource[1].weight=argv[resource[1].getId()][0:] except: - """not""" + pass return ret def changeWeights(self): @@ -2823,10 +2675,12 @@ class ECHO_root(Folder,Persistent,Implic return getattr(found,field).decode('ascii','ignore') except: return "" - + + security.declarePublic('getImageTag') def getImageTag(self): """needed by main_template""" return "" + secondaryLink="" #needed by main_template secondaryLinkTitle="" #needed by main_template @@ -2834,6 +2688,7 @@ class ECHO_root(Folder,Persistent,Implic """hack""" return "#dddddd" + security.declareProtected('View','contentTypeSelector_HTML') def contentTypeSelector_HTML(self,selected=None): """give type selector""" if not selected: @@ -2876,23 +2731,6 @@ class ECHO_root(Folder,Persistent,Implic """nothing""" return retStr - def renderingTypeSelector_HTML(self,selected=None): - """give type selector""" - if not selected: - retStr="