bimtester: gui, improve prints and error handling

This commit is contained in:
Bernd Hahnebach
2021-11-29 14:59:30 +01:00
committed by GitHub
parent 1a5b5dd303
commit a3f27830c5
+13 -3
View File
@@ -147,9 +147,12 @@ class GuiWidgetBimTester(QtWidgets.QWidget):
return " ".join(self.featurefile_text.text().split()) return " ".join(self.featurefile_text.text().split())
def run_bimtester(self): def run_bimtester(self):
print("Run BIMTester by the GUI")
QtWidgets.QApplication.setOverrideCursor(QtCore.Qt.WaitCursor) QtWidgets.QApplication.setOverrideCursor(QtCore.Qt.WaitCursor)
print("Try to run BIMTester by the GUI")
# TODO Qt messageboxes on errors
# set the_feature file and ifc file in args # set the_feature file and ifc file in args
the_featurefile = self.get_featurefile() the_featurefile = self.get_featurefile()
the_ifcfile = self.get_ifcfile() the_ifcfile = self.get_ifcfile()
@@ -158,7 +161,6 @@ class GuiWidgetBimTester(QtWidgets.QWidget):
has_feature_file = True has_feature_file = True
else: else:
print("Feature file does not exist: {}".format(the_featurefile)) print("Feature file does not exist: {}".format(the_featurefile))
# TODO Qt messagebox
has_feature_file = False has_feature_file = False
if os.path.isfile(the_ifcfile): if os.path.isfile(the_ifcfile):
self.args["ifc"] = the_ifcfile self.args["ifc"] = the_ifcfile
@@ -167,14 +169,18 @@ class GuiWidgetBimTester(QtWidgets.QWidget):
print("IFC file does not exist: {}".format(the_ifcfile)) print("IFC file does not exist: {}".format(the_ifcfile))
# TODO Qt messagebox # TODO Qt messagebox
has_ifc_file = False has_ifc_file = False
print(json.dumps(self.args, indent=4))
# run bimtester # run bimtester
if has_feature_file is True and has_ifc_file is True: if has_feature_file is True and has_ifc_file is True:
print("Args passed from BIMtester GUI:")
print(json.dumps(self.args, indent=4))
report_json = bimtester.run.TestRunner( report_json = bimtester.run.TestRunner(
self.args["ifc"], self.args["ifc"],
self.args["schema_file"] self.args["schema_file"]
).run(self.args) ).run(self.args)
else:
print("Missing files, BIMTester can not run.")
report_json = ""
# create html report # create html report
if os.path.isfile(report_json): if os.path.isfile(report_json):
@@ -187,7 +193,11 @@ class GuiWidgetBimTester(QtWidgets.QWidget):
report_html report_html
) )
print("HTML report generated: {}".format(report_html)) print("HTML report generated: {}".format(report_html))
elif report_json == "":
report_html = ""
print("JSON report file has not been written.")
else: else:
report_html = ""
print("JSON report file does not exist: {}".format(report_json)) print("JSON report file does not exist: {}".format(report_json))
QtWidgets.QApplication.restoreOverrideCursor() QtWidgets.QApplication.restoreOverrideCursor()