From 4abe1865e45f3e39a6b62ddc2efe7537e16c95e7 Mon Sep 17 00:00:00 2001
From: Nicola Vigano <nicola.vigano@esrf.fr>
Date: Sun, 5 Mar 2017 17:44:53 +0100
Subject: [PATCH] Python/batch-gui: fixed recent OAR update

Signed-off-by: Nicola Vigano <nicola.vigano@esrf.fr>
---
 zUtil_Python/dct_batch_gui.py            | 13 +++++++++----
 zUtil_Python/dct_batch_oar_parameters.py |  6 ++++--
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/zUtil_Python/dct_batch_gui.py b/zUtil_Python/dct_batch_gui.py
index 24958fd0..bac7c7e2 100755
--- a/zUtil_Python/dct_batch_gui.py
+++ b/zUtil_Python/dct_batch_gui.py
@@ -17,12 +17,12 @@ from . import dct_batch_oar_parameters
 
 
 def convert_timestamp_to_string(tstamp):
-    if tstamp is None:
+    if tstamp is None or tstamp == 0:
         return ""
-    elif tstamp is float:
-        return datetime.datetime.fromtimestamp(tstamp).strftime('%Y-%m-%d %H:%M:%S')
     else:
-        return tstamp
+        if tstamp is not float:
+            tstamp = float(tstamp)
+        return datetime.datetime.fromtimestamp(tstamp).strftime('%Y-%m-%d %H:%M:%S')
 
 
 class DCTBatchGui(QtGui.QWidget):
@@ -417,6 +417,11 @@ class DCTBatchGui(QtGui.QWidget):
                 job_info = ["Job: %d" % job['Job_Id'], name, \
                             job['state'], exit_code, sub_time, start_time, \
                             stop_time, resub_id ]
+                if True in (not isinstance(x, basestring) for x in job_info):
+                    raise ValueError(("Display Job Info: Some of the items for " \
+                                     + "job %d couldn't be properly converted " \
+                                     + "to strings! (OAR might have been " \
+                                     + "updated)") % job['Job_Id'])
                 job_item = QtGui.QTreeWidgetItem(QtCore.QStringList(job_info))
                 array_item.addChild(job_item)
             array_item.setExpanded(True)
diff --git a/zUtil_Python/dct_batch_oar_parameters.py b/zUtil_Python/dct_batch_oar_parameters.py
index 046158c9..e08a4a28 100755
--- a/zUtil_Python/dct_batch_oar_parameters.py
+++ b/zUtil_Python/dct_batch_oar_parameters.py
@@ -101,8 +101,10 @@ class DCTBatchOarParameters(object):
         for aid in array_ids:
             print("Query Array ID: %d" % aid)
             content = self.parent.qapi.query(array = aid)
-
-            arrays_content.update(content)
+            if len(content) is not 0:
+                arrays_content.update(content)
+            else:
+                print(" - Skipping because not valid any more!")
 
         self.load_content_from_structure(arrays_content)
 
-- 
GitLab