version 1.5, 2005/02/11 17:01:22
|
version 1.11, 2007/01/31 14:30:29
|
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 |
import logging |
|
|
OSASObjectTypes=['OSAS_metaDataFile','OSAS_dir','OSAS_file','OSAS_imageFolder','OSAS_dir_archive','OSAS_file_archive'] |
#ersetzt logging |
|
def logger(txt,method,txt2): |
|
"""logging""" |
|
logging.info(txt+ txt2) |
|
|
|
|
|
|
|
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'] |
|
|
|
|
Line 84 def getBib(nodelist):
|
Line 92 def getBib(nodelist):
|
#print rc |
#print rc |
return rc+"</table>" |
return rc+"</table>" |
|
|
def getPropertyOfDirs(path,property,server): |
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.parseString(server.getFile(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,server): |
|
|
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,server).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,server): |
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',server): |
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=server.listdir(path) |
dir=os.listdir(path) |
|
|
imagesuffixes=['.gif','.jpg','.jpeg','.png','.tiff','.tif'] |
imagesuffixes=['.gif','.jpg','.jpeg','.png','.tiff','.tif'] |
ret="" |
ret="" |
Line 139 def isImageFolder(path,server):
|
Line 169 def isImageFolder(path,server):
|
except: |
except: |
return 0 |
return 0 |
|
|
def checkOSASFileType(object,server): |
def checkOSASFileType(object): |
"""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,server): |
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' |
elif server.isdir(object): |
elif os.path.isdir(object): |
return 'OSAS_dir' |
return 'OSAS_dir' |
elif server.isfile(object): |
elif os.path.isfile(object): |
return 'OSAS_file' |
return 'OSAS_file' |
|
|
def toList(fields): |
def toList(fields): |