Diff for /OSAS/OSA_system/OSAS_show.py between versions 1.1 and 1.9

version 1.1, 2003/09/25 15:25:08 version 1.9, 2003/12/19 13:58:52
Line 1 Line 1
 # Classes for displaying, browsing and organizing the archive  # Classes for displaying, browsing and organizing the archive
   
   
   import addFolder
 from OFS.Folder import Folder  from OFS.Folder import Folder
 from OFS.SimpleItem import SimpleItem  from OFS.SimpleItem import SimpleItem
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
 from Products.PageTemplates.PageTemplate import PageTemplate  from Products.PageTemplates.PageTemplate import PageTemplate
   from AccessControl import ClassSecurityInfo
   from Globals import InitializeClass
   
 class OSAS_ShowOnline(SimpleItem):  class OSAS_ShowOnline(SimpleItem):
       security=ClassSecurityInfo()
       
     """OnlineBrowser"""      """OnlineBrowser"""
     def __init__(self,id):      def __init__(self,id):
         """initialize a new instance"""          """initialize a new instance"""
Line 13  class OSAS_ShowOnline(SimpleItem): Line 19  class OSAS_ShowOnline(SimpleItem):
   
     meta_type="OSAS_ShowOnline"      meta_type="OSAS_ShowOnline"
   
       security.declareProtected('View','index_html')
     def index_html(self):      def index_html(self):
         """main view"""          """main view"""
         pt=PageTemplateFile('products/OSA_system/OSAS_ViewFiles.zpt').__of__(self)          pt=PageTemplateFile('Products/OSA_system/OSAS_ViewFiles.zpt').__of__(self)
         return pt()          return pt()
           
     def getfilesystem2(self,start,reload=0):      def getfilesystem2(self,start,reload=0):
Line 51  class OSAS_ShowOnline(SimpleItem): Line 58  class OSAS_ShowOnline(SimpleItem):
         self.tree(path).toggle(path,file)          self.tree(path).toggle(path,file)
         return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"?path="+path)          return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"?path="+path)
           
   InitializeClass(OSAS_ShowOnline)
   
 def manage_AddOSAS_ShowOnlineForm(self):  def manage_AddOSAS_ShowOnlineForm(self):
     """interface for adding the OSAS_root"""      """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()      return pt()
   
 def manage_AddOSAS_ShowOnline(self,id,RESPONSE=None):  def manage_AddOSAS_ShowOnline(self,id,RESPONSE=None):
Line 64  def manage_AddOSAS_ShowOnline(self,id,RE Line 73  def manage_AddOSAS_ShowOnline(self,id,RE
         RESPONSE.redirect('manage_main')          RESPONSE.redirect('manage_main')
   
   
   class OSAS_StoreOnline(SimpleItem):
       """Webfrontend für das Storagesystem"""
       security=ClassSecurityInfo()
       
       def __init__(self,id):
           """initialize a new instance"""
           self.id = id
   
       meta_type="OSAS_StoreOnline"
   
       security.declareProtected('View','index_html')
       def index_html(self):
           """main view"""
           pt=PageTemplateFile('Products/OSA_system/OSAS_StoreFiles.zpt').__of__(self)
           return pt()
   
       def readContexts(self,path):
           """Zeige Contexte"""
           if os.path.exists(path+"/index.meta"):
               
               return readContexts(path)
               
           else:
               
               return []
   
       def rescaleThumbs(self,path):
           """rescale thumbs of imeages in path"""
   
           os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['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()
   
   InitializeClass(OSAS_StoreOnline)
       
   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:
           try:
               link=getText(node.getElementsByTagName('link')[0].childNodes)
               name=getText(node.getElementsByTagName('name')[0].childNodes)
               ret.append((link,name))
           except:
               """nothing"""
       return ret
   
   
 ### Ab hier Baustelle  ### Ab hier Baustelle
Line 535  def path_to_link_view(URL,path): Line 696  def path_to_link_view(URL,path):
       i=i-1        i=i-1
     return string      return string
   
 def path_to_link_store(path):  def path_to_link_store(URL,path):
     """generates navigation bar for viewfiles"""      """generates navigation bar for viewfiles"""
     string=""      string=""
           
Line 552  def path_to_link_store(path): Line 713  def path_to_link_store(path):
           tmppath=os.path.dirname(tmppath)            tmppath=os.path.dirname(tmppath)
   
     while i>=0:      while i>=0:
           string=string+"<a href=storefiles?path="+pathes[i][0]+">"+pathes[i][1]+"</a>/"            string=string+"<a href="+URL+"?path="+pathes[i][0]+">"+pathes[i][1]+"</a>/"
               
       i=i-1        i=i-1
     return string      return string
Line 705  def getText(nodelist): Line 866  def getText(nodelist):
   
 def getBib(nodelist):  def getBib(nodelist):
     rc= "<table border='0'>"      rc= "<table border='0'>"
     print "HI"      
     for node in nodelist:      for node in nodelist:
                   
         if node.nodeType == node.ELEMENT_NODE:          if node.nodeType == node.ELEMENT_NODE:
Line 748  def getMetafile(path): Line 909  def getMetafile(path):
     else:      else:
       html=html+"<h4>Info</h4>"        html=html+"<h4>Info</h4>"
         html=html+getBib(bib.childNodes)          html=html+getBib(bib.childNodes)
         print html          
        except:         except:
         """none"""          """none"""
                 
Line 986  def date(self): Line 1147  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'])  
   
       

Removed from v.1.1  
changed lines
  Added in v.1.9


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>