--- OSAS/OSA_system/OSAS_show.py 2004/04/05 21:54:42 1.17 +++ OSAS/OSA_system/OSAS_show.py 2004/08/19 19:01:17 1.27 @@ -4,6 +4,7 @@ """ import addFolder +import OSAS_helpers from OFS.Folder import Folder from OFS.SimpleItem import SimpleItem from Products.PageTemplates.PageTemplateFile import PageTemplateFile @@ -60,6 +61,7 @@ class OSAS_ShowOnline(SimpleItem): self.tree(path).toggle(path,file) return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"?path="+path) + InitializeClass(OSAS_ShowOnline) def manage_AddOSAS_ShowOnlineForm(self): @@ -104,7 +106,9 @@ class OSAS_StoreOnline(SimpleItem): def rescaleThumbs(self,path): """rescale thumbs of images in path""" - os.popen("ssh 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'])) + 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 -replace >> /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'])) self.REQUEST.SESSION['path']=self.REQUEST['path'] #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']) @@ -157,6 +161,11 @@ class OSAS_StoreOnline(SimpleItem): """Test ob Eintrag ein Folder ist""" return isFullText(path,folder_name) + def isPdf(self,path,folder_name): + """Test ob Eintrag ein Folder mit pdf2 ist""" + return isPdf(path,folder_name) + + def isPresentation(self,path,folder_name): """Test ob Eintrag ein Folder ist""" return isPresentation(path,folder_name) @@ -169,7 +178,20 @@ class OSAS_StoreOnline(SimpleItem): pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_addFolder.zpt').__of__(self) return pt() - + def showHelp(self,refType,genericTag): + """helptext""" + for reference in self.ZopeFind(self.standardMD): + if reference[1].title==refType: + text=getattr(reference[1],'md_'+genericTag)[2] + return text + return "NO EXPLANATION" + + def showHelpTag(self,url,reftype,item): + """gen javascript for showhelp""" + url2=url+'/showHelp?refType=%s&genericTag=%s'%(reftype,item) + ret="""javascript:wd=window.open(\'%s\',\'Help\',\'width=300,height=250\');void(\'\');wd.focus();"""%url2 + return ret + 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) @@ -178,7 +200,7 @@ class OSAS_StoreOnline(SimpleItem): """Editiere das Index Metafile""" try: dom=xml.dom.minidom.parse(path+"/index.meta") - indexmeta=dom.toxml() + indexmeta=dom.toxml(encoding='UTF-8') except: indexmeta="" @@ -208,6 +230,53 @@ class OSAS_StoreOnline(SimpleItem): pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_addmetadata.zpt').__of__(self) return pt() + def getTextToolsField(self,path,name,default=''): + """Lese Textoolsfelder aus index.meta im path aus""" + + try: + dom=xml.dom.minidom.parse(path+"/index.meta") + node=dom.getElementsByTagName('texttool')[0] #getNode + subnode=node.getElementsByTagName(name)[0] + + # bei text wird nur der Folder gebraucht + if name=="text": + splitted=getText(subnode.childNodes).split("/") + return splitted[len(splitted)-2] + else: + return getText(subnode.childNodes) + except: + return default + + def getViewerTemplateSets(self,obj_ids=None): + """Get the ViewerTemplateSet title for configuration""" + ret=[] + + try: + viewerTemplateSets=self.ZopeFind(self.viewerTemplateSets,obj_metatypes=['OSAS_viewerTemplateSet'],obj_ids=obj_ids)#assumes viewerTemplateSets folder somewhere in the hierarchie. + + for viewerTemplateSet in viewerTemplateSets: + ret.append((viewerTemplateSet[1].title,viewerTemplateSet[0],viewerTemplateSet[1])) + + return ret + + except: + return [('no ViewerTemplateSetfolders','')] + + def changeTemplatesForm(self,path): + """changeform""" + path=self.REQUEST.SESSION['path']=path + pt=PageTemplateFile('Products/OSA_system/zpt/changeTemplatesForm.zpt').__of__(self) + return pt() + + + + def changeTemplates(self,path,RESPONSE=None): + """Andere alle Eintraege in index.meta""" + os.path.walk(path,OSAS_helpers.changeIndexMeta,self.REQUEST.form) + if RESPONSE is not None: + RESPONSE.redirect(self.REQUEST['URL1']+"?path="+self.REQUEST.SESSION['path']) + + InitializeClass(OSAS_StoreOnline) def manage_AddOSAS_StoreOnlineForm(self): @@ -894,7 +963,9 @@ def getBib(nodelist): if node.nodeType == node.ELEMENT_NODE: """nothing""" + rc = rc+""+str(node.nodeName)+": "+getText(node.childNodes)+"" + #print rc return rc+"" @@ -953,7 +1024,7 @@ def getMetafile(path): # html=html.encode('utf-8','replace')+getBib(bib.childNodes).encode('utf-8','replace') - return html + return html.encode('utf-8') def hasMetafile(path): """get index.meta""" @@ -1011,6 +1082,20 @@ def isFullText(path,folder_name): return 0 +def isPdf(path,folder_name): + """check if foldername in path is full text""" + try: + dom=xml.dom.minidom.parse(path+"/index.meta") + for node in dom.getElementsByTagName("dir"): + + if getText(node.getElementsByTagName("content-type")[0].childNodes).lower()=="pdf": + + if getText(node.getElementsByTagName("name")[0].childNodes)==folder_name: + return 1 + return 0 + except: + + return 0 def isPresentation(path,folder_name): """check if foldername in path is full text""" @@ -1171,7 +1256,7 @@ def isScannedDocument(self,path): try: dom = xml.dom.minidom.parseString(lines) content_type=getText(dom.getElementsByTagName("content-type")[0].childNodes) - if (content_type=="scanned-document") or (content_type=="scanned document"): + if (content_type=="scanned-document") or (content_type=="scanned document") or (content_type=="fulltext document"): return 1 else: return 0