From 72de2e4157dde7209ebfa2e1f6f63fee145c2c70 Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Tue, 26 Jan 2016 18:31:32 +0000
Subject: [PATCH] checksum/stat fixes for plugins

---
 src/python/dm/__init__.py                                   | 2 +-
 .../common/processing/plugins/gridftpFileTransferPlugin.py  | 6 ++++--
 .../common/processing/plugins/mongoDbFileCatalogPlugin.py   | 2 +-
 .../dm/common/processing/plugins/rsyncFileTransferPlugin.py | 1 +
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/python/dm/__init__.py b/src/python/dm/__init__.py
index 39a6cd5e..68b3c89b 100644
--- a/src/python/dm/__init__.py
+++ b/src/python/dm/__init__.py
@@ -1 +1 @@
-__version__ = "0.8 (2016.01.25)"
+__version__ = "0.8 (2016.01.26)"
diff --git a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py
index 89ebabc3..3b5e84bf 100755
--- a/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py
+++ b/src/python/dm/common/processing/plugins/gridftpFileTransferPlugin.py
@@ -83,9 +83,11 @@ class GridftpFileTransferPlugin(FileTransferPlugin):
         srcUrl = self.getSrcUrl(filePath, dataDirectory)
 
         # Calculate checksum
+        (scheme, host, port, dirPath) = FtpUtility.parseFtpUrl(dataDirectory, defaultPort=self.DEFAULT_PORT)
+        ftpUtility = FtpUtility(host, port)
+	ftpUtility.statFile(filePath, fileInfo)
         if self.localMd5Sum:
-            FileUtility.statFile(filePath, fileInfo)
-            FileUtility.getMd5Sum(filePath, fileInfo)
+            ftpUtility.getMd5Sum(filePath, fileInfo)
 
         # Transfer file
         self.logger.debug('Starting transfer: %s' % fileInfo)
diff --git a/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py b/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py
index fe5e3575..00850c81 100755
--- a/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py
+++ b/src/python/dm/common/processing/plugins/mongoDbFileCatalogPlugin.py
@@ -29,7 +29,7 @@ class MongoDbFileCatalogPlugin(FileProcessor):
 
         # Prepare catalogging entry
         fileInfo2 = {}
-        for key in ['md5Sum', 'fileSize', 'fileCreationTime', 'fileCreationTimeStamp']:
+        for key in ['md5Sum', 'fileSize', 'fileCreationTime', 'fileCreationTimeStamp', 'fileModificationTime', 'fileModificationTimeStamp']:
             if fileInfo.has_key(key):
                 fileInfo2[key] = fileInfo.get(key, '')
         fileLocations = fileInfo.get('fileLocations', [])
diff --git a/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py b/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
index f4d1b8a0..525ad752 100755
--- a/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
+++ b/src/python/dm/common/processing/plugins/rsyncFileTransferPlugin.py
@@ -54,6 +54,7 @@ class RsyncFileTransferPlugin(FileTransferPlugin):
         srcUrl = self.getSrcUrl(filePath, dataDirectory)
 
         # Calculate checksum
+	FileUtility.statFile(filePath, fileInfo)
         if self.localMd5Sum:
             FileUtility.statFile(filePath, fileInfo)
             FileUtility.getMd5Sum(filePath, fileInfo)
-- 
GitLab