Report: data
[csit.git] / resources / tools / presentation / generator_tables.py
index 1071dee..7f4071b 100644 (file)
@@ -183,12 +183,13 @@ def table_performance_improvements(table, input_data):
                 for build in data[job]:
                     try:
                         data_lst.append(float(build[tmpl_item[0]]["throughput"]
-                                              ["value"]) / 1000000)
+                                              ["value"]))
                     except (KeyError, TypeError):
                         # No data, ignore
                         continue
                 if data_lst:
-                    tbl_item.append({"data": eval(operation)(data_lst)})
+                    tbl_item.append({"data": (eval(operation)(data_lst)) /
+                                             1000000})
                 else:
                     tbl_item.append({"data": None})
             elif cmd == "operation":
@@ -200,7 +201,7 @@ def table_performance_improvements(table, input_data):
                         tbl_item.append({"data": eval(operation)(nr1, nr2)})
                     else:
                         tbl_item.append({"data": None})
-                except (IndexError, ValueError):
+                except (IndexError, ValueError, TypeError):
                     logging.error("No data for {0}".format(tbl_item[1]["data"]))
                     tbl_item.append({"data": None})
                     continue
@@ -226,21 +227,23 @@ def table_performance_improvements(table, input_data):
         with open(file_name, "w") as file_handler:
             file_handler.write(",".join(header) + "\n")
             for item in tbl_lst:
+                if isinstance(item[-1]["data"], float):
+                    rel_change = round(item[-1]["data"], 1)
+                else:
+                    rel_change = item[-1]["data"]
                 if "ndr_top" in file_name \
                         and "ndr" in item[1]["data"] \
-                        and item[-1]["data"] >= 10.0:
+                        and rel_change >= 10.0:
                     _write_line_to_file(file_handler, item)
                 elif "pdr_top" in file_name \
                         and "pdr" in item[1]["data"] \
-                        and item[-1]["data"] >= 10.0:
+                        and rel_change >= 10.0:
                     _write_line_to_file(file_handler, item)
                 elif "ndr_low" in file_name \
-                        and "ndr" in item[1]["data"] \
-                        and item[-1]["data"] < 10.0:
+                        and "ndr" in item[1]["data"]:
                     _write_line_to_file(file_handler, item)
                 elif "pdr_low" in file_name \
-                        and "pdr" in item[1]["data"] \
-                        and item[-1]["data"] < 10.0:
+                        and "pdr" in item[1]["data"]:
                     _write_line_to_file(file_handler, item)
 
     logging.info("  Done.")