--- ECHO_content/ECHO_collection.py 2004/05/10 14:18:33 1.76 +++ ECHO_content/ECHO_collection.py 2004/05/13 19:11:06 1.84 @@ -21,12 +21,15 @@ from OFS.SimpleItem import SimpleItem from AccessControl import ClassSecurityInfo from Globals import InitializeClass from Globals import DTMLFile +import Globals from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate from Globals import Persistent, package_home from Acquisition import Implicit from ECHO_helpers import displayTypes + + try: from psycopg import libpq except: @@ -170,7 +173,7 @@ def writeMetadata(url,metadict): metanode.appendChild(metanodeneu) - return dom.toxml().encode('utf-8') + return dom.topxml().encode('utf-8') def readMetadata(url): """Methode zum Auslesen der Metadateninformation zu einer Resource @@ -385,7 +388,22 @@ class ECHO_resource(Folder): return self.viewClassification else: return "" - + + def getFullTextXML(self,noredirect=None): + """getFullTextXML""" + try: + fh=urllib.urlopen(self.metalink) + dom=xml.dom.minidom.parse(fh) + texttools=dom.getElementsByTagName('texttool') + text=texttools[0].getElementsByTagName('text') + texturl=getText(text[0].childNodes) + if not noredirect: + self.REQUEST.RESPONSE.redirect(texturl) + else: + return texturl + except: + return None + def getCredits(self): """Ausgabe der credits""" if self.credits: @@ -515,7 +533,10 @@ class ECHO_resource(Folder): def changeECHO_resource_coords(self,coords,viewClassification,RESPONSE=None): """Änderung der Properties - coords""" - try: + if type(coords)==StringType: + coords=[coords] + + try: coordsnew=[ string.split(x,",") for x in coords] except: coordsnew=[] @@ -868,8 +889,11 @@ class ECHO_link(ECHO_externalLink): def content_html(self): - """template fuer content""" - return content_html(self,'link') + """template fuer link""" + if hasattr(self,"link_template"): + return content_html(self,'link') + else: + return content_html(self,'collection') def manage_addECHO_linkForm(self): """Form for external Links""" @@ -890,6 +914,7 @@ def manage_addECHO_link(self,id,title,la class ECHO_collection(Folder, Persistent, Implicit): """ECHO Collection""" + security=ClassSecurityInfo() meta_type='ECHO_collection' viewClassificationList=viewClassificationListMaster @@ -909,10 +934,13 @@ class ECHO_collection(Folder, Persistent """title""" return self.label.encode('utf-8') + + def createRessourcesFromXMLForm(self): """form""" pt=PageTemplateFile('Products/ECHO_content/zpt/createRessourcesFromXMLForm.zpt').__of__(self) return pt() + def createRessourcesFromXML(self,fileupload): """read an XML file for generating resources""" dom=xml.dom.minidom.parse(fileupload) @@ -1219,6 +1247,7 @@ class ECHO_collection(Folder, Persistent pt=PageTemplateFile('Products/ECHO_content/zpt/ECHO_content_overview.zpt').__of__(self) return pt() + security.declareProtected('View','index_html') def index_html(self): """standard page""" @@ -1254,13 +1283,11 @@ class ECHO_collection(Folder, Persistent def hl_lib_js(self): """javascript""" - sendFile(self, 'js/hl_lib.js', 'text/plain') - return + return sendFile(self, 'js/hl_lib.js', 'text/plain') def js_lib_js(self): """javascript""" - sendFile(self, 'js/js_lib.js', 'text/plain') - return + return sendFile(self, 'js/js_lib.js', 'text/plain') def getGraphicCoords(self): """Give list of coordinates""" @@ -1294,9 +1321,8 @@ class ECHO_collection(Folder, Persistent getSubCols = ECHO_helpers.getSubCols - - - + +Globals.InitializeClass(ECHO_collection) def manage_addECHO_collectionForm(self): """Add collection form""" @@ -1317,6 +1343,7 @@ def manage_addECHO_collection(self,id,ti class ECHO_group(ECHO_collection): """ECHO Gruppe""" + security=ClassSecurityInfo() meta_type="ECHO_group" manage_options = Folder.manage_options+( @@ -1324,7 +1351,8 @@ class ECHO_group(ECHO_collection): {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'}, {'label':'Graphics','action':'ECHO_graphicEntry'}, ) - + + security.declareProtected('View','index_html') def index_html(self): """standard page""" displayedObjects=self.ZopeFind(self,obj_metatypes=displayTypes) @@ -1418,7 +1446,7 @@ def manage_addECHO_group(self,id,title,l if RESPONSE is not None: RESPONSE.redirect('manage_main') - +Globals.InitializeClass(ECHO_group) class ECHO_root(Folder,Persistent,Implicit): """ECHO Root Folder""" @@ -1700,7 +1728,79 @@ class ECHO_root(Folder,Persistent,Implic ret.append((collection[0].getId(),collection[1].getId(),collection[2])) return ret - + def getResourcesHTML(self,viewerType=None,filter=None): + """gebe all ressourcen aus""" + + def sortHTML(x,y): + return cmp(x[1].title,y[1].title) + + ret="""