--- OSAS/OSA_system/OSAS_show.py 2005/11/04 16:37:35 1.32 +++ OSAS/OSA_system/OSAS_show.py 2010/02/15 19:09:00 1.36 @@ -11,6 +11,7 @@ from Products.PageTemplates.PageTemplate from Products.PageTemplates.PageTemplate import PageTemplate from AccessControl import ClassSecurityInfo from Globals import InitializeClass,package_home +import zLOG class OSAS_ShowOnline(SimpleItem): security=ClassSecurityInfo() @@ -58,7 +59,7 @@ class OSAS_ShowOnline(SimpleItem): return getMetafile(path).decode('utf-8') def toggle_view(self,path,file): - """Oeffnen bzw. schließen der Subfolders""" + """Oeffnen bzw. schliessen der Subfolders""" self.tree(path).toggle(path,file) return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"?path="+path) @@ -79,7 +80,7 @@ def manage_AddOSAS_ShowOnline(self,id,RE class OSAS_StoreOnline(SimpleItem): - """Webfrontend für das Storagesystem""" + """Webfrontend fuer das Storagesystem""" security=ClassSecurityInfo() def __init__(self,id): @@ -108,9 +109,10 @@ class OSAS_StoreOnline(SimpleItem): """rescale thumbs of images in path""" dlpath = re.sub('/mpiwg/online/','',self.REQUEST['path']) - os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=90 -sync >> /tmp/sc.out &"%dlpath ) + ret=os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=100 -sync >> /tmp/sc.out &"%dlpath ) #os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 --replace >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['path'])) - + zLOG.LOG("OSAS_StoreOnline (rescleThumbs)",zLOG.INFO,ret.read()) + zLOG.LOG("OSAS_StoreOnline (rescleThumbs)",zLOG.INFO,"ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=100 -sync >> /tmp/sc.out &"%dlpath) self.REQUEST.SESSION['path']=self.REQUEST['path'] #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']) pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','OSAS_scaled.zpt')).__of__(self) @@ -147,7 +149,7 @@ class OSAS_StoreOnline(SimpleItem): return getMetafile(path).decode('utf-8') def toggle_view(self,path,file): - """Oeffnen bzw. schließen der Subfolders""" + """Oeffnen bzw. schliessen der Subfolders""" self.tree(path).toggle(path,file) return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"?path="+path) @@ -341,6 +343,7 @@ import tempfile tempfile.tempdir="/var/tmp" exclusion=[".HSResource","lost+found","Network Trash Folder","TheFindByContentFolder","TheVolumeSettingsFolder"] + class fsentry(Implicit, Persistent, RoleManager): """File entry class""" path = "" @@ -571,7 +574,7 @@ class filesystem2(Implicit, Persistent, def loadfs(self,start): """analyse filesystem""" for line in self.getfs(start): - + logging.debug("loadfs: reading %s"%repr(line)) g=re.search(r"(.*/)(.*)\n",line) if not g==None: try: @@ -579,6 +582,10 @@ class filesystem2(Implicit, Persistent, file=g.group(2) except: """nothing""" + logging.debug("loadfs: file=%s"%repr(file)) + #if file[0] in ('.',':'): + # skip dot-files + # continue if self.node.has_key(path): elements=self.node[path] elements.append(file) @@ -649,7 +656,7 @@ class browse(Implicit, Persistent, RoleM def filterExcluded(self,dir): ret=[] for item in dir: - if not item in exclusion: + if not ((item in exclusion) or (item[0] in ('.',':'))): ret.append(item) return ret @@ -1128,7 +1135,7 @@ def changeName(path): return "digifiles/"+re.search(r"(.*)/mpiwg/production/docuserver/(.*)",path).group(2) else: return temp2.group(2) - except: # hack - im archivbereich keine online darstellung gibt jetzt ein no zurück. + except: # hack - im archivbereich keine online darstellung gibt jetzt ein no zurueck. return "NO" @@ -1246,18 +1253,19 @@ def getFile(self): return self.REQUEST.SESSION['something'] def isFolder(self,path): - """returns TRUE, wenn path ein Folder ist in den weitere Objekte Folder oder Dokumente gelegt werden dürfen""" - return not isScannedDocument(self,path) # vorläufig sind alle Documente die keine scanned documente sind folder. + """returns TRUE, wenn path ein Folder ist in den weitere Objekte Folder oder Dokumente gelegt werden duerfen""" + return not isScannedDocument(self,path) # vorlaeufig sind alle Documente die keine scanned documente sind folder. def isScannedDocument(self,path): """returns TRUE, wenn path der Stammordner eines gescannten Documents ist""" try: f = file(path+"/index.meta","r") + logging.debug("isscanneddocument: file=%s"%f) lines = f.read() - try: dom = xml.dom.minidom.parseString(lines) content_type=getText(dom.getElementsByTagName("content-type")[0].childNodes) + logging.debug("isscanneddocument: content_type=%s"%content_type) if (content_type=="scanned-document") or (content_type=="scanned document") or (content_type=="fulltext document"): return 1 else: