Diff for /OSAS/OSA_system/OSAS_addfiles.py between versions 1.3 and 1.16

version 1.3, 2003/10/06 16:22:09 version 1.16, 2004/02/29 23:02:22
Line 1 Line 1
 # Methoden und Classen zum Hinzufuegen von Dokumenten  # Methoden und Classen zum Hinzufuegen von Dokumenten
   
   import xml.dom.minidom
   from Products.ECHO_content import ECHO_collection
 import urllib  import urllib
 import OSAS_add  import OSAS_add
   import OSAS_show
   import string
 from OFS.Folder import Folder  from OFS.Folder import Folder
 from AccessControl import ClassSecurityInfo  from AccessControl import ClassSecurityInfo
 from Globals import InitializeClass  from Globals import InitializeClass
Line 27  class OSAS_add_Document(Folder): Line 31  class OSAS_add_Document(Folder):
     security.declarePublic('add_Document_config')      security.declarePublic('add_Document_config')
     def add_Document_config(self):      def add_Document_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_addDocument.zpt').__of__(self)          pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_addDocument.zpt').__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_add_Document')      security.declarePublic('change_OSAS_add_Document')
Line 76  class OSAS_add_Document(Folder): Line 80  class OSAS_add_Document(Folder):
           
 def manage_AddOSAS_add_DocumentForm(self):  def manage_AddOSAS_add_DocumentForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('products/OSA_system/AddOSAS_document.zpt').__of__(self)      pt=PageTemplateFile('Products/OSA_system/AddOSAS_document.zpt').__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_Document(self,id,RESPONSE=None):  def manage_AddOSAS_add_Document(self,id,RESPONSE=None):
Line 109  class OSAS_add_Text(Folder): Line 113  class OSAS_add_Text(Folder):
     security.declarePublic('add_Text_config')      security.declarePublic('add_Text_config')
     def add_Text_config(self):      def add_Text_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_addText.zpt').__of__(self)          pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_addText.zpt').__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_add_Text')      security.declarePublic('change_OSAS_add_Text')
Line 128  class OSAS_add_Text(Folder): Line 132  class OSAS_add_Text(Folder):
         return OSAS_add.addText2(self)          return OSAS_add.addText2(self)
 def manage_AddOSAS_add_TextForm(self):  def manage_AddOSAS_add_TextForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('products/OSA_system/AddOSAS_text.zpt').__of__(self)      pt=PageTemplateFile('Products/OSA_system/AddOSAS_text.zpt').__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_Text(self,id,RESPONSE=None):  def manage_AddOSAS_add_Text(self,id,RESPONSE=None):
Line 153  class OSAS_add_contextData(Folder): Line 157  class OSAS_add_contextData(Folder):
         self.id=id          self.id=id
         self.collection=collection          self.collection=collection
   
     def generateTree(self,depth=3):      def getChilds(self,id,depth,items):
         """Erzeugt HTML-Tree der Collection"""  
           
   
         def getChilds(id,depth,items):  
             list=[]              list=[]
             for object in item:          for object in items:
                 if (depth==object[2])&(id==object[0]):                  if (depth==object[2])&(id==object[0]):
                     list.append[object]                  list.append(object)
           return list
   
       def printChilds(self,startItem,depth,items,enddepth):
   
         exec("items=self.getPhysicalRoot()."+self.collection+".getCollectionTree()")          def spaces(depth):
               tmp=""
               k=0
               while k<2*depth:
                   k+=1
                   tmp=tmp+"&nbsp;"+"&nbsp;"
               return tmp
   
           def retLink(object):
               return "<input type='checkbox' name='collection' value='%s'>%s</input>"% (string.join(object.getPhysicalPath(),"."),object.title)
                
           depth+=1
           childs=self.getChilds(startItem,depth,items)
           tmp=""
           for child in childs:
               if depth < enddepth:
                   tmp=tmp+spaces(depth)
                   
                   tmp= tmp+retLink(child[1])+"<br>"+self.printChilds(child[1],depth,items,enddepth)
               else:
                   tmp=tmp+spaces(2*depth)
                   tmp = tmp+retLink(child[1])
   
           return tmp
                   
       def generateTree(self,depth=10):
           """Erzeugt HTML-Tree der Collection"""
                   
           exec("items=self.getPhysicalRoot()."+self.collection+".getCollectionTree()")
           #print items[0][0]
                                   
           childs=self.printChilds(items[0][0],0,items,depth)
                   
           return childs
   
         return a[1][0].id      def getPartners(self):
           """Zeige Partnerliste"""
           exec("items=self.getPhysicalRoot()."+self.collection+".partners.getPartners()")
           return items
       def addContextData(self,path):
           """Hinzufügen zu einer Sammlung"""
           try:
               urllib.urlopen(self.REQUEST['SERVER_URL']+path+"/index.meta")
               
           except:
               return self.REQUEST['SERVER_URL']+path+"/index.meta file has to exist!"
   
           links=[(path,'standard storage')]
           
           links+=OSAS_show.readContexts(path) # auslesen von contexten für den link
           #print "LINK",links
           #return links
           self.REQUEST.SESSION['links']=links
           pt=PageTemplateFile('Products/OSA_system/contextDataMain.zpt').__of__(self)
           return pt()
   
     def addContextData(self):  
         pt=PageTemplateFile('products/OSA_system/contextDataMain.zpt').__of__(self)  
   
       def addContextData2(self,path,collection,context,science,practice,source_type,period,link,label,description,content_type,responsible,weight,credits=None):
           """Hinzufuegen der Resource"""
           splitted=path.split("/")
           #print "BLU"
           id=splitted[len(splitted)-1]
           title=splitted[len(splitted)-1]
           metalink=self.REQUEST['SERVER_URL']+path+"/index.meta"
           
           #link=TOBEDONE"
           """Hinzufügen der Ressource"""
   
           
           exec("collection_object=self"+collection)
           
           ECHO_collection.manage_addECHO_resource(collection_object,id,title,label,description,content_type,responsible,link,metalink,credits,weight,RESPONSE=None)
           #print "HI5"
           try:
               getattr(collection_object,id).ECHO_getResourceMD()
           except:
               """nothing"""
           #return "BLUByy"
           return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
   
     manage_options = Folder.manage_options+(      manage_options = Folder.manage_options+(
             {'label':'Main Config','action':'add_contextData_config'},              {'label':'Main Config','action':'add_contextData_config'},
Line 184  class OSAS_add_contextData(Folder): Line 253  class OSAS_add_contextData(Folder):
             
     def add_contextData_config(self):      def add_contextData_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_add_contextData.zpt').__of__(self)          pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_add_contextData.zpt').__of__(self)
         return pt()          return pt()
           
           
Line 196  class OSAS_add_contextData(Folder): Line 265  class OSAS_add_contextData(Folder):
                           
 def manage_AddOSAS_add_contextDataForm(self):  def manage_AddOSAS_add_contextDataForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('products/OSA_system/AddOSAS_contextData.zpt').__of__(self)      pt=PageTemplateFile('Products/OSA_system/AddOSAS_contextData.zpt').__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None):  def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None):
Line 228  class OSAS_add_Presentation(Folder): Line 297  class OSAS_add_Presentation(Folder):
     security.declarePublic('add_Presentation_config')      security.declarePublic('add_Presentation_config')
     def add_Presentation_config(self):      def add_Presentation_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_addPresentation.zpt').__of__(self)          pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_addPresentation.zpt').__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_add_Presentation')      security.declarePublic('change_OSAS_add_Presentation')
Line 248  class OSAS_add_Presentation(Folder): Line 317  class OSAS_add_Presentation(Folder):
           
 def manage_AddOSAS_add_PresentationForm(self):  def manage_AddOSAS_add_PresentationForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('products/OSA_system/AddOSAS_presentation.zpt').__of__(self)      pt=PageTemplateFile('Products/OSA_system/AddOSAS_presentation.zpt').__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None):  def manage_AddOSAS_add_Presentation(self,id,RESPONSE=None):
Line 280  class OSAS_combineTextImage(Folder): Line 349  class OSAS_combineTextImage(Folder):
     security.declarePublic('combineTextImage_config')      security.declarePublic('combineTextImage_config')
     def combineTextImage_config(self):      def combineTextImage_config(self):
         """Main configuration"""          """Main configuration"""
         pt=PageTemplateFile('products/OSA_system/ChangeOSAS_combineTextImage.zpt').__of__(self)          pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_combineTextImage.zpt').__of__(self)
         return pt()          return pt()
           
     security.declarePublic('change_OSAS_combineTextImage')      security.declarePublic('change_OSAS_combineTextImage')
Line 297  class OSAS_combineTextImage(Folder): Line 366  class OSAS_combineTextImage(Folder):
   
     def combineTextImage2(self,path):      def combineTextImage2(self,path):
         """Eingabe von Metadateninformationen"""          """Eingabe von Metadateninformationen"""
         return OSAS_add.combineTextImage2(self,path)          OSAS_add.combineTextImage2(self,path) # Add images
           splitted=path.split("/")
           linkPath=splitted[len(splitted)-1]
           linkViewerEnvironment="http://nausikaa2.mpiwg-berlin.mpg.de:86/cgi-bin/toc/toc.x.cgi?dir=%s&step=thumb" % linkPath
           self.REQUEST.SESSION['linkViewerEnvironment']=linkViewerEnvironment
   
           writeToContext(path,linkViewerEnvironment,"ECHO standard environment")
           
           pt=PageTemplateFile('Products/OSA_system/AddOSAS_combineTextImageFinal.zpt').__of__(self)
   
           return pt()
   
   
   def writeToContext(path,link,description):
       """Created an additional entry to the index.meta file of path"""
       dom=xml.dom.minidom.parse(path+"/index.meta")
       node=dom.getElementsByTagName('resource')[0]
   
       subnode=dom.createElement('context')
   
       linknode=dom.createElement('link')
       namelinknode=dom.createTextNode(link)
       linknode.appendChild(namelinknode)
       subnode.appendChild(linknode)
   
       linknode=dom.createElement('name')
       namelinknode=dom.createTextNode(description)
       linknode.appendChild(namelinknode)
       subnode.appendChild(linknode)
   
       node.appendChild(subnode)
       
       writefile=file(path+"/index.meta","w")
       #print path+"/index.meta"
       writefile.write(dom.toxml().encode('utf-8'))
       writefile.close()
           
 def manage_AddOSAS_combineTextImageForm(self):  def manage_AddOSAS_combineTextImageForm(self):
     """interface for adding the OSAS_add_Metadata"""      """interface for adding the OSAS_add_Metadata"""
     pt=PageTemplateFile('products/OSA_system/AddOSAS_combineTextImage.zpt').__of__(self)      pt=PageTemplateFile('Products/OSA_system/AddOSAS_combineTextImage.zpt').__of__(self)
     return pt()      return pt()
   
 def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None):  def manage_AddOSAS_combineTextImage(self,id,RESPONSE=None):

Removed from v.1.3  
changed lines
  Added in v.1.16


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