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

version 1.1.1.1, 2004/11/29 09:48:07 version 1.5, 2005/02/11 17:01:22
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']
 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 16  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 66  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 84  def getBib(nodelist):
     #print rc      #print rc
     return rc+"</table>"      return rc+"</table>"
   
 def getPropertyOfDirs(path,property):  def getPropertyOfDirs(path,property,server):
     """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 path: Pfad in dem das index.meta liegt
     @param propery: Property die ausgegebenwerden soll      @param propery: 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(server.getFile(os.path.split(path)[0]+"/index.meta"))
         for node in dom.getElementsByTagName("dir"):          for node in dom.getElementsByTagName("dir"):
                           
             property= getText(node.getElementsByTagName("content-type")[0].childNodes)              property= getText(node.getElementsByTagName("content-type")[0].childNodes)
Line 104  def getPropertyOfDirs(path,property): Line 104  def getPropertyOfDirs(path,property):
                                   
         return ret          return ret
   
 def dirHasProperty(path,propertyName,propertyValue):  def dirHasProperty(path,propertyName,propertyValue,server):
     """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(os.path.split(path)[0],propertyName,server).get(os.path.split(path)[1],None)==propertyValue:
         return 1          return 1
     else:      else:
         return 0          return 0
           
 def isImageFolder(path):  def isImageFolder(path,server):
     """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,'content-type','images',server): 
         return 1          return 1
           
     #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=server.listdir(path)
   
                 imagesuffixes=['.gif','.jpg','.jpeg','.png','.tiff','.tif']                  imagesuffixes=['.gif','.jpg','.jpeg','.png','.tiff','.tif']
                 ret=""                  ret=""
Line 139  def isImageFolder(path): Line 139  def isImageFolder(path):
     except:      except:
                 return 0                  return 0
   
 def checkOSASFileType(object):  def checkOSASFileType(object,server):
     """checke filetype      """checke filetype
     nicht erkannte type auf werden auf none gesetzt      nicht erkannte type auf werden auf none gesetzt
     """      """
     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 isImageFolder(object,server):
         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'
     elif os.path.isdir(object):      elif server.isdir(object):
         return 'OSAS_dir'          return 'OSAS_dir'
     elif os.path.isfile(object):      elif server.isfile(object):
         return 'OSAS_file'          return 'OSAS_file'
     
 def toList(fields):  def toList(fields):

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


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