--- OSA_system2/OSAS_server.py 2005/02/10 19:50:18 1.1
+++ OSA_system2/OSAS_server.py 2005/02/11 17:01:22 1.5
@@ -4,15 +4,17 @@ import stat
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Globals import InitializeClass,package_home
from OFS.SimpleItem import SimpleItem
-import xml.dom.minidom
-import OSAS_helpers
-from OSAS_helpers import *
+
+
+
class OSAS_storeOnlineServer(SimpleItem):
"""Server for store Online system"""
-
- meta_type="OSAS_server"
+
+ meta_type="OSAS_server"
+
+
def findIndexMeta(self,realPath=""):
"""finde Rueckwaerts im Baum von Pfad ausgehend, dass erste index.meta file
@keyword path: default ist "", Pfad auf das Object
@@ -62,140 +64,30 @@ class OSAS_storeOnlineServer(SimpleItem)
"""list dir"""
return os.listdir(path)
+ def isdir(self,path=""):
+ """list dir"""
+ return os.path.isdir(path)
- def getMetaFile(self,path):
- """get index.meta and translate it to HTML"""
- html=[]
-
- if not os.path.exists(path+"/index.meta"):
-
- return self.getMetaInfoFromIndexMeta(path)
- #return "NO_METADATA"
- else:
-
- f = os.popen("cat "+path+"/index.meta","r")
- lines = f.read()
-
- dom = xml.dom.minidom.parseString(lines)
- try:
- name=getText(dom.getElementsByTagName("name")[0].childNodes)
- except:
- name="NOT_DEFINED!!!"
- try:
- creator=getText(dom.getElementsByTagName("creator")[0].childNodes)
- except:
- creator="NOT_DEFINED!!!"
-
- try:
- creation_date=getText(dom.getElementsByTagName("archive-creation-date")[0].childNodes)
- except:
- creation_date="NOT_DEFINED!!!"
-
- try:
- description=getText(dom.getElementsByTagName("description")[0].childNodes)
- except:
- description="NOT_DEFINED!!!"
-
- try:
- type=getText(dom.getElementsByTagName("content-type")[0].childNodes)
- except:
- type=""
- if type=="scanned document":
- html="
Document: "+name+"
"
- elif type=="folder":
- html="Folder: "+name+"
"
- else:
- html="Document: "+name+"
"
-
- html=html+"created by: "+creator+" at: "+creation_date+"
"
- html=html+"Description
"+description+"
"
- try:
- bib = dom.getElementsByTagName("meta")[0].getElementsByTagName("bib")[0]
- if bib.attributes.has_key('type'):
- html=html+"Info ("+bib.attributes['type'].value+")
"
- else:
- html=html+"Info
"
- html=html+getBib(bib.childNodes)
-
- except:
- """none"""
-
- # html=html.encode('utf-8','replace')+getBib(bib.childNodes).encode('utf-8','replace')
+ def isfile(self,path=""):
+ """list dir"""
+ return os.path.isdir(path)
- return html
- def getMetaInfoFromIndexMeta(self,path):
- """metadaten zu path als html aus dem index.meta file zu path (meta tag im file bzw. dir container)
- @param path: Pfad auf das Object relativ zum rootFolderName
- @return: metadata als html
- """
- xmlInfos=self.findEntryInIndexMeta(path)
- if xmlInfos:
- return OSAS_helpers.getMetaInfoFromXML(path,xmlInfos)
- else:
- return ""
-
- def findEntryInIndexMeta(self,path):
- """Finde im naechstgelegenden index.meta relativ zu path den entprechenden Eintrag fuer diesen Pfad.
- @param path: Pfad auf das Object relativ zum rootFolderName
- @return: den Teil von Index.meta der Informationen zu path enthaelt, None wenn error.
- """
+ def getFile(self,path):
+ """getFile"""
- indexMeta=self.findIndexMeta(path) # suche index.meta
-
- if not indexMeta:
+ if not os.path.exists(path):
return None
- realPath=os.path.split(indexMeta)[0]
- path=os.path.normpath(path)
-
- try:
- dom=xml.dom.minidom.parse(indexMeta)
- except:
- zLOG.LOG("OSAS_browser (findEntryInIndexMeta)",zLOG.ERROR,"Cannot parse: %s"%indexMeta)
- #ist path ein directory?
- dirs=dom.getElementsByTagName('dir')
- for dir in dirs:
- pathes=dir.getElementsByTagName('path')
- if pathes:
- pathX=OSAS_helpers.getText(pathes[0].childNodes)
- else:
- pathX=""
- names=dir.getElementsByTagName('name')
- if names:
- name=OSAS_helpers.getText(names[0].childNodes)
- else:
- name=""
-
- checkpath=os.path.normpath(os.path.join(realPath,pathX,name))
- if checkpath==path:
-
- return dir.toxml()
-
- #ist path ein file?
- files=dom.getElementsByTagName('file')
- for dir in dirs:
- pathes=dir.getElementsByTagName('path')
- if pathes:
- pathX=OSAS_helpers.getText(pathes[0].childNodes)
- else:
- pathX=""
- names=dir.getElementsByTagName('name')
- if names:
- name=OSAS_helpers.getText(names[0].childNodes)
- else:
- name=""
-
- checkpath=os.path.normpath(os.path.join(realPath,pathX,name))
- if checkpath==path:
-
- return dir.toxml()
-
+ f=file(path,'r')
- return None
-
+ ret=f.read()
+ f.close()
+
+ return ret
+
def manage_addOSAS_storeOnlineServerForm(self):
"""interface for adding the OSAS_storeOnline"""
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addStoreOnlineServer.zpt')).__of__(self)