Fix: table_performance_improvements
[csit.git] / resources / tools / presentation / generator_tables.py
index 367e8c9..195380f 100644 (file)
@@ -67,7 +67,13 @@ def table_details(table, input_data):
 
     job = table["data"].keys()[0]
     build = str(table["data"][job][0])
-    for suite_longname, suite in input_data.suites(job, build).iteritems():
+    try:
+        suites = input_data.suites(job, build)
+    except KeyError:
+        logging.error("    No data available. The table will not be generated.")
+        return
+
+    for suite_longname, suite in suites.iteritems():
         # Generate data
         suite_name = suite["name"]
         table_lst = list()
@@ -183,12 +189,17 @@ def table_performance_improvements(table, input_data):
                     tbl_item.append({"data": eval(operation)(data_lst)})
             elif cmd == "operation":
                 operation = args[0]
-                nr1 = tbl_item[int(args[1])]["data"]
-                nr2 = tbl_item[int(args[2])]["data"]
-                if nr1 and nr2:
-                    tbl_item.append({"data": eval(operation)(nr1, nr2)})
-                else:
+                try:
+                    nr1 = tbl_item[int(args[1])]["data"]
+                    nr2 = tbl_item[int(args[2])]["data"]
+                    if nr1 and nr2:
+                        tbl_item.append({"data": eval(operation)(nr1, nr2)})
+                    else:
+                        tbl_item.append({"data": None})
+                except IndexError:
+                    logging.error("No data for {0}".format(tbl_item[0]))
                     tbl_item.append({"data": None})
+                    continue
             else:
                 logging.error("Not supported command {0}. Skipping the table.".
                               format(cmd))