From 7a35df3a01cb88945f77f36340dbcb2aee785b89 Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Tue, 12 Apr 2016 18:39:27 +0000
Subject: [PATCH] introduce new status for stopping daqs

---
 src/python/dm/common/constants/dmProcessingStatus.py |  2 ++
 src/python/dm/common/objects/daqInfo.py              | 10 ++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/python/dm/common/constants/dmProcessingStatus.py b/src/python/dm/common/constants/dmProcessingStatus.py
index 523bd70e..3cc28257 100755
--- a/src/python/dm/common/constants/dmProcessingStatus.py
+++ b/src/python/dm/common/constants/dmProcessingStatus.py
@@ -5,6 +5,7 @@
 DM_PROCESSING_STATUS_ANY = 'any'
 DM_PROCESSING_STATUS_PENDING = 'pending'
 DM_PROCESSING_STATUS_RUNNING = 'running'
+DM_PROCESSING_STATUS_FINALIZING = 'finalizing'
 DM_PROCESSING_STATUS_DONE = 'done'
 DM_PROCESSING_STATUS_FAILED = 'failed'
 DM_PROCESSING_STATUS_SKIPPED = 'skipped'
@@ -15,6 +16,7 @@ DM_ALLOWED_PROCESSING_STATUS_LIST = [
     DM_PROCESSING_STATUS_ANY,
     DM_PROCESSING_STATUS_PENDING,
     DM_PROCESSING_STATUS_RUNNING,
+    DM_PROCESSING_STATUS_FINALIZING,
     DM_PROCESSING_STATUS_DONE,
     DM_PROCESSING_STATUS_FAILED,
     DM_PROCESSING_STATUS_SKIPPED,
diff --git a/src/python/dm/common/objects/daqInfo.py b/src/python/dm/common/objects/daqInfo.py
index 23687861..468f4ea7 100755
--- a/src/python/dm/common/objects/daqInfo.py
+++ b/src/python/dm/common/objects/daqInfo.py
@@ -76,10 +76,12 @@ class DaqInfo(DmObject):
         self['percentageProcessed'] = '%.2f' % percentageProcessed
         self['percentageProcessingErrors'] = '%.2f' % percentageProcessingErrors
 
-        if self.get('endTime') and nCompletedFiles == nFiles:
-            daqStatus = 'done'
-            if nProcessingErrors:
-                daqStatus = 'failed'
+        if self.get('endTime'):
+            daqStatus = dmProcessingStatus.DM_PROCESSING_STATUS_FINALIZING
+            if nCompletedFiles == nFiles:
+                daqStatus = dmProcessingStatus.DM_PROCESSING_STATUS_DONE
+                if nProcessingErrors:
+                    daqStatus = dmProcessingStatus.DM_PROCESSING_STATUS_FAILED
             lastFileProcessingErrorTime = self.get('lastFileProcessingErrorTime')
             lastFileProcessedTime = self.get('lastFileProcessedTime')
             endTime = lastFileProcessedTime
-- 
GitLab