Diff for /OSA_system2/OSAS_helpers.py between versions 1.1.1.1 and 1.9

version 1.1.1.1, 2004/11/29 09:48:07 version 1.9, 2005/03/17 19:26:52
Line 2 Line 2
 import os.path  import os.path
 from types import *  from types import *
 import xml.dom.minidom  import xml.dom.minidom
   import zLOG
   
 OSASObjectTypes=['OSAS_metaDataFile','OSAS_dir','OSAS_file','OSAS_imageFolder']  OSASObjectTypes=['OSAS_metaDataFile','OSAS_dir','Osas_file','OSAS_imageFolder','OSAS_dir_archive','OSAS_file_archive','OSAS_videoFolder','OSAS_videoFile','OSAS_videoFolder']
   OSASDirObjects=['OSAS_dir','OSAS_imageFolder',]
 OSASExcludedFiles=['TheVolumeSettingsFolder','TheFindByContentFolder']  OSASExcludedFiles=['TheVolumeSettingsFolder','TheFindByContentFolder']
   
   
 def getText(nodelist):  def getText(nodelist):
     """gibt text aus nodelist"""      """gibt text aus nodelist"""
     rc = ""      rc = ""
Line 14  def getText(nodelist): Line 17  def getText(nodelist):
            rc = rc + node.data             rc = rc + node.data
     return rc      return rc
   
 def getMetaFile(path):  def getMetaInfoFromXML(path,xmlInfo):
     """get index.meta and translate it to HTML"""      """get index.meta and translate it to HTML"""
     html=[]      html=[]
     if not os.path.exists(path+"/index.meta"):  
                       
           return "NO_METADATA"      dom = xml.dom.minidom.parseString(xmlInfo)
     else:  
        f = os.popen("cat "+path+"/index.meta","r")  
        lines = f.read()  
        dom = xml.dom.minidom.parseString(lines)  
        try:         try:
            name=getText(dom.getElementsByTagName("name")[0].childNodes)             name=getText(dom.getElementsByTagName("name")[0].childNodes)
        except:         except:
Line 69  def getMetaFile(path): Line 67  def getMetaFile(path):
                 
 #        html=html.encode('utf-8','replace')+getBib(bib.childNodes).encode('utf-8','replace')  #        html=html.encode('utf-8','replace')+getBib(bib.childNodes).encode('utf-8','replace')
                 
        return html.encode('utf-8')      
       return html
   
   
 def getBib(nodelist):  def getBib(nodelist):
     """ translate bibliographical entries """      """ translate bibliographical entries """
Line 85  def getBib(nodelist): Line 85  def getBib(nodelist):
     #print rc      #print rc
     return rc+"</table>"      return rc+"</table>"
   
 def getPropertyOfDirs(path,property):  def getPropertyOfDirs(indexMeta,propertyName):
     """gibt Eigenschaften der directorys gemaess Index.metas file in path aus      """gibt Eigenschaften der directorys gemaess Index.metas file in path aus
     @param path: Pfad in dem das index.meta liegt      @param indexMeta: index.meta file
     @param propery: Property die ausgegebenwerden soll      @param propertyName: Property die ausgegebenwerden soll
     @return: Hash mit key  name des Directories and Value von property, None if error.      @return: Hash mit key  name des Directories and Value von property, None if error.
     """      """
     ret={}      ret={}
       
     try:      try:
         dom=xml.dom.minidom.parse(os.path.split(path)[0]+"/index.meta")          dom=xml.dom.minidom.parseString(indexMeta)
         for node in dom.getElementsByTagName("dir"):  
           rootProp=xml.xpath.Evaluate("/resource/%s"%propertyName,dom)
           if len(rootProp)==1:
               property= getText(rootProp[0].childNodes)
               ret["."]=property
                           
             property= getText(node.getElementsByTagName("content-type")[0].childNodes)          for node in dom.getElementsByTagName("dir"):
               try:
                   property= getText(node.getElementsByTagName(propertyName)[0].childNodes)
             dirName=getText(node.getElementsByTagName("name")[0].childNodes)              dirName=getText(node.getElementsByTagName("name")[0].childNodes)
             ret[dirName]=property              ret[dirName]=property
               except:
                   ret[dirName]=none
         return ret          return ret
     except:      except:
                                   
         return ret          return ret
   
 def dirHasProperty(path,propertyName,propertyValue):                     
   def dirHasProperty(path,indexMeta,propertyName,propertyValue):
     """gibt 1 zurück falls path hat propertyName und properName=propertyValue      """gibt 1 zurück falls path hat propertyName und properName=propertyValue
     @param propertyName:Property von path in index.meta des parent folders von path      @param propertyName:Property von path in index.meta des parent folders von path
     @param propertyValue:Wert der Property      @param propertyValue:Wert der Property
     @param path: Pfad der getestet werden soll      @param path: Pfad der getestet werden soll
     """      """
     if getPropertyOfDirs(os.path.split(path)[0],propertyName).get(os.path.split(path)[1],None)==propertyValue:      if getPropertyOfDirs(indexMeta,propertyName).get(os.path.split(path)[1],None)==propertyValue:
         return 1          return 1
     else:      else:
         return 0          return 0
           
 def isImageFolder(path):  def isImageFolder(path,indexMeta):
     """check if folder contains images without metadata or with metadata"""      """check if folder contains images without metadata or with metadata"""
     # metadaten ergeben imagefolder      # metadaten ergeben imagefolder
     if dirHasProperty(path,'content-type','images'):       if dirHasProperty(path,indexMeta,'content-type','images'): 
         return 1          return 1
           
   def isVideoFolder(path,indexMeta):
       """check if folder contains images without metadata or with metadata"""
       # metadaten ergeben imagefolder
   
       if dirHasProperty(path,indexMeta,'media-type','video'):
           return 1
   
   def isVideoStream(path,indexMeta):
       if dirHasProperty(path,indexMeta,'container-format','quicktime'):
           return 1
       
   def isImageFolderGuess(path):
       """check if folder contains images without metadata or with metadata"""
     #sonst rate ob folder images enthaelten durch test nach suffix      #sonst rate ob folder images enthaelten durch test nach suffix
     try:      try:
                 dir=os.listdir(path)                  dir=os.listdir(path)
Line 145  def checkOSASFileType(object): Line 168  def checkOSASFileType(object):
     """      """
     if os.path.split(object)[1][0]=="." or os.path.split(object)[1] in OSASExcludedFiles:      if os.path.split(object)[1][0]=="." or os.path.split(object)[1] in OSASExcludedFiles:
         return None          return None
     elif isImageFolder(object):      elif isImageFolderGuess(object):
         return 'OSAS_imageFolder'          return 'OSAS_imageFolder'
     elif os.path.split(object)[1]=="index.meta":      elif os.path.split(object)[1]=="index.meta":
         return 'OSAS_metaDataFile'          return 'OSAS_metaDataFile'

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


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