#!/usr/bin/env python import os import stat from dm.common.utility.dmSubprocess import DmSubprocess from dm.common.utility.timeUtility import TimeUtility class FileUtility: @classmethod def getMd5Sum(cls, filePath, fileInfo={}): p = DmSubprocess.getSubprocess('md5sum %s' % filePath) p.run() md5Sum = p.getStdOut().split()[0] fileInfo['md5Sum'] = md5Sum fileInfo['filePath'] = filePath return fileInfo @classmethod def statFile(cls, filePath, fileInfo={}): statResult = os.stat(filePath) fileInfo['filePath'] = filePath fileInfo['fileSize'] = statResult[stat.ST_SIZE] fileInfo['fileCreationTime'] = statResult[stat.ST_CTIME] fileInfo['fileCreationTimeStamp'] = TimeUtility.formatLocalTimeStamp(statResult[stat.ST_CTIME]) fileInfo['fileAccessTime'] = statResult[stat.ST_ATIME] fileInfo['fileAccessTimeStamp'] = TimeUtility.formatLocalTimeStamp(statResult[stat.ST_ATIME]) fileInfo['fileModificationTime'] = statResult[stat.ST_MTIME] fileInfo['fileModificationTimeStamp'] = TimeUtility.formatLocalTimeStamp(statResult[stat.ST_MTIME]) return fileInfo ####################################################################### # Testing. if __name__ == '__main__': print FileUtility.getMd5Sum('/tmp/file') print FileUtility.statFile('/tmp/file')