--- OSA_system2/OSAS_helpers.py 2005/02/11 20:06:57 1.6 +++ OSA_system2/OSAS_helpers.py 2005/10/10 18:11:10 1.10 @@ -4,7 +4,8 @@ from types import * import xml.dom.minidom import zLOG -OSASObjectTypes=['OSAS_metaDataFile','OSAS_dir','OSAS_file','OSAS_imageFolder','OSAS_dir_archive','OSAS_file_archive'] +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'] @@ -12,7 +13,7 @@ def getText(nodelist): """gibt text aus nodelist""" rc = "" for node in nodelist: - if node.nodeType == node.TEXT_NODE: + if node.nodeType == node.TEXT_NODE: rc = rc + node.data return rc @@ -76,34 +77,43 @@ def getBib(nodelist): for node in nodelist: - if node.nodeType == node.ELEMENT_NODE: - """nothing""" + if node.nodeType == node.ELEMENT_NODE: + """nothing""" - rc = rc+""+str(node.nodeName)+": "+getText(node.childNodes)+"" + rc = rc+""+str(node.nodeName)+": "+getText(node.childNodes)+"" #print rc return rc+"" -def getPropertyOfDirs(indexMeta,property): +def getPropertyOfDirs(indexMeta,propertyName): """gibt Eigenschaften der directorys gemaess Index.metas file in path aus @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. """ ret={} try: 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) - dirName=getText(node.getElementsByTagName("name")[0].childNodes) - ret[dirName]=property + for node in dom.getElementsByTagName("dir"): + try: + property= getText(node.getElementsByTagName(propertyName)[0].childNodes) + dirName=getText(node.getElementsByTagName("name")[0].childNodes) + ret[dirName]=property + except: + ret[dirName]=none return ret except: return ret + def dirHasProperty(path,indexMeta,propertyName,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 @@ -121,7 +131,17 @@ def isImageFolder(path,indexMeta): if dirHasProperty(path,indexMeta,'content-type','images'): 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 @@ -133,7 +153,7 @@ def isImageFolderGuess(path): for a in dir: suffix=os.path.splitext(a)[1].lower() - + if suffix in imagesuffixes: return 1 @@ -171,6 +191,6 @@ def toList(fields): def localDate(): """gives formatted local date""" - return strftime("%d.%m.%Y",localtime()) + return strftime("%d.%m.%Y",localtime())