--- OSAS/OSA_system/OSAS_show.py 2003/09/25 15:25:08 1.1 +++ OSAS/OSA_system/OSAS_show.py 2003/10/09 08:11:46 1.5 @@ -1,5 +1,7 @@ # Classes for displaying, browsing and organizing the archive + +import addFolder from OFS.Folder import Folder from OFS.SimpleItem import SimpleItem from Products.PageTemplates.PageTemplateFile import PageTemplateFile @@ -15,7 +17,7 @@ class OSAS_ShowOnline(SimpleItem): def index_html(self): """main view""" - pt=PageTemplateFile('products/OSA_system/OSAS_ViewFiles.zpt').__of__(self) + pt=PageTemplateFile('Products/OSA_system/OSAS_ViewFiles.zpt').__of__(self) return pt() def getfilesystem2(self,start,reload=0): @@ -53,7 +55,7 @@ class OSAS_ShowOnline(SimpleItem): def manage_AddOSAS_ShowOnlineForm(self): """interface for adding the OSAS_root""" - pt=PageTemplateFile('products/OSA_system/AddOSAS_ShowOnline.zpt').__of__(self) + pt=PageTemplateFile('Products/OSA_system/AddOSAS_ShowOnline.zpt').__of__(self) return pt() def manage_AddOSAS_ShowOnline(self,id,RESPONSE=None): @@ -64,9 +66,145 @@ def manage_AddOSAS_ShowOnline(self,id,RE RESPONSE.redirect('manage_main') +class OSAS_StoreOnline(SimpleItem): + """Webfrontend für das Storagesystem""" + def __init__(self,id): + """initialize a new instance""" + self.id = id + + meta_type="OSAS_StoreOnline" + + + def index_html(self): + """main view""" + pt=PageTemplateFile('Products/OSA_system/OSAS_StoreFiles.zpt').__of__(self) + return pt() + + def readContexts(self,path): + """Zeige Contexte""" + return readContexts(path) + + def getfilesystem2(self,start,reload=0): + """load filesystem""" + k=filesystem2(start,1) + return k + def tree(self,start): + """get the filetree""" + k=browse(start) + return k + def path_to_link_store(self,path): + """generates navigation bar for viewfiles""" + return path_to_link_store(self.REQUEST['URL'],path) + + def isdigilib2(self,path): + """check if digilib""" + return isdigilib2(path) + + def changeName(self,name): + return changeName(name) + + def hasMetafile(self,path): + return hasMetafile(path) + + def getMetafile(self,path): + return getMetafile(path) + + def toggle_view(self,path,file): + """Oeffnen bzw. schließen der Subfolders""" + self.tree(path).toggle(path,file) + return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"?path="+path) + + def isFolder(self,path): + """Test ob Eintrag ein Folder ist""" + return isFolder(self,path) + + def isScannedDocument(self,path): + """Test ob Eintrag ein Folder ist""" + return isScannedDocument(self,path) + + def isFullText(self,path,folder_name): + """Test ob Eintrag ein Folder ist""" + return isFullText(path,folder_name) + + def addFolderForm(self,path): + """add a new path""" + pt=PageTemplateFile('Products/OSA_system/OSAS_addFolder.zpt').__of__(self) + return pt() + + def date(self): + return strftime("%d.%m.%Y",localtime()) + + def addFolder(self,path,folder_name,description,archive_creation_date,creator): + """add the folder to the filesystem and write the metadata files""" + return addFolder.addFolder(self,path,folder_name,description,archive_creation_date,creator) + + def EditIndex(self,path): + """Editiere das Index Metafile""" + try: + dom=xml.dom.minidom.parse(path+"/index.meta") + indexmeta=dom.toxml() + except: + indexmeta="" + self.REQUEST.SESSION['indexmeta']=indexmeta + self.REQUEST.SESSION['path']=path + newtemplate=PageTemplateFile('Products/OSA_system/editindex').__of__(self) + return newtemplate() + + def EditIndex2(self): + """Sichern der Aenderungen in Index.meta""" + if not self.REQUEST.has_key('fileupload'): + #newtext=urllib.unquote(self.REQUEST['indexmeta']) + newtext=self.REQUEST['indexmeta'] + + else: + self.file_name=self.REQUEST['fileupload'].filename + #newtext=self.REQUEST.form['fileupload'].read() + # HACK DW + newtext=self.REQUEST['indexmeta'] + + indexmeta=file(self.REQUEST.SESSION['path']+"/index.meta","w") + indexmeta.writelines(newtext) + return self.REQUEST.response.redirect(self.REQUEST['URL1']+"?path="+self.REQUEST.SESSION['path']) + + def add_metafile(self): + """nothing""" + pt=PageTemplateFile('Products/OSA_system/OSAS_addmetadata.zpt').__of__(self) + return pt() + + +def manage_AddOSAS_StoreOnlineForm(self): + """interface for adding the OSAS_root""" + pt=PageTemplateFile('Products/OSA_system/AddOSAS_StoreOnline.zpt').__of__(self) + return pt() + +def manage_AddOSAS_StoreOnline(self,id,RESPONSE=None): + """add the OSAS_root""" + newObj=OSAS_StoreOnline(id) + self._setObject(id,newObj) + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + + + + +def readContexts(path): + """ReadContext from index.meta""" + dom=xml.dom.minidom.parse(path+"/index.meta") + nodes=dom.getElementsByTagName('context') + ret=[] + + for node in nodes: + + link=getText(node.getElementsByTagName('link')[0].childNodes) + name=getText(node.getElementsByTagName('name')[0].childNodes) + ret.append((link,name)) + + return ret + + ### Ab hier Baustelle @@ -535,7 +673,7 @@ def path_to_link_view(URL,path): i=i-1 return string -def path_to_link_store(path): +def path_to_link_store(URL,path): """generates navigation bar for viewfiles""" string="" @@ -552,7 +690,7 @@ def path_to_link_store(path): tmppath=os.path.dirname(tmppath) while i>=0: - string=string+""+pathes[i][1]+"/" + string=string+""+pathes[i][1]+"/" i=i-1 return string @@ -705,7 +843,7 @@ def getText(nodelist): def getBib(nodelist): rc= "" - print "HI" + for node in nodelist: if node.nodeType == node.ELEMENT_NODE: @@ -748,7 +886,7 @@ def getMetafile(path): else: html=html+"

Info

" html=html+getBib(bib.childNodes) - print html + except: """none""" @@ -986,30 +1124,3 @@ def date(self): -def EditIndex(self,path): - try: - dom=xml.dom.minidom.parse(path+"/index.meta") - indexmeta=dom.toxml() - except: - indexmeta="" - self.REQUEST.SESSION['indexmeta']=indexmeta - self.REQUEST.SESSION['path']=path - newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/editindex').__of__(self) - return newtemplate() - -def EditIndex2(self): - if not self.REQUEST.has_key('fileupload'): - #newtext=urllib.unquote(self.REQUEST['indexmeta']) - newtext=self.REQUEST['indexmeta'] - print newtext - else: - self.file_name=self.REQUEST['fileupload'].filename - #newtext=self.REQUEST.form['fileupload'].read() - # HACK DW - newtext=self.REQUEST['indexmeta'] - - indexmeta=file(self.REQUEST.SESSION['path']+"/index.meta","w") - indexmeta.writelines(newtext) - return self.REQUEST.response.redirect("storage/storefiles?path="+self.REQUEST.SESSION['path']) - -