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

version 1.3, 2004/12/23 10:48:28 version 1.5, 2005/02/11 17:01:22
Line 69  def getMetaInfoFromXML(path,xmlInfo): Line 69  def getMetaInfoFromXML(path,xmlInfo):
           
     return html      return html
   
 def getMetaFile(self,path):  
     """get index.meta and translate it to HTML"""  
     html=[]  
     if not os.path.exists(path+"/index.meta"):  
           return self.getMetaInfoFromIndexMeta(path)  
           #return "NO_METADATA"  
     else:  
        f = os.popen("cat "+path+"/index.meta","r")  
        lines = f.read()  
        dom = xml.dom.minidom.parseString(lines)  
        try:  
            name=getText(dom.getElementsByTagName("name")[0].childNodes)  
        except:  
            name="NOT_DEFINED!!!"  
        try:  
            creator=getText(dom.getElementsByTagName("creator")[0].childNodes)  
        except:  
            creator="NOT_DEFINED!!!"  
   
        try:  
            creation_date=getText(dom.getElementsByTagName("archive-creation-date")[0].childNodes)  
        except:  
            creation_date="NOT_DEFINED!!!"  
   
        try:  
            description=getText(dom.getElementsByTagName("description")[0].childNodes)  
        except:  
            description="NOT_DEFINED!!!"  
              
        try:  
         type=getText(dom.getElementsByTagName("content-type")[0].childNodes)   
        except:  
         type=""  
        if type=="scanned document":  
         html="<h3>Document: "+name+"</h3>"  
        elif type=="folder":  
         html="<h3>Folder: "+name+"</h3>"  
        else:  
             html="<h3>Document: "+name+"</h3>"  
   
        html=html+"<p><i>created by: "+creator+" at: "+creation_date+"</i></p>"   
        html=html+"<h4>Description</h4><p>"+description+"</p>"  
        try:  
         bib = dom.getElementsByTagName("meta")[0].getElementsByTagName("bib")[0]  
         if bib.attributes.has_key('type'):  
       html=html+"<h4>Info ("+bib.attributes['type'].value+")</h4>"  
     else:  
       html=html+"<h4>Info</h4>"  
         html=html+getBib(bib.childNodes)  
           
        except:  
         """none"""  
          
 #        html=html.encode('utf-8','replace')+getBib(bib.childNodes).encode('utf-8','replace')  
          
        return html  
   
 def getBib(nodelist):  def getBib(nodelist):
     """ translate bibliographical entries """      """ translate bibliographical entries """
Line 140  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 159  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 194  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.3  
changed lines
  Added in v.1.5


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