From 94f267f9f2e3cfe0ce12dda7ecdb9c7a1b8e72fc Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Thu, 8 Oct 2015 06:44:51 +0000
Subject: [PATCH] added file utility for checksum/stat

---
 src/python/dm/common/utility/fileUtility.py | 33 +++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100755 src/python/dm/common/utility/fileUtility.py

diff --git a/src/python/dm/common/utility/fileUtility.py b/src/python/dm/common/utility/fileUtility.py
new file mode 100755
index 00000000..19b80d39
--- /dev/null
+++ b/src/python/dm/common/utility/fileUtility.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+
+import os
+import stat
+from dm.common.utility.dmSubprocess import DmSubprocess
+
+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['createTime'] = statResult[stat.ST_CTIME]
+        fileInfo['accessTime'] = statResult[stat.ST_ATIME]
+        fileInfo['modifyTime'] = statResult[stat.ST_MTIME]
+        return fileInfo
+
+#######################################################################
+# Testing.
+if __name__ == '__main__':
+    print FileUtility.getMd5Sum('/tmp/file')
+    print FileUtility.statFile('/tmp/file')
+
-- 
GitLab