diff --git a/SofaRegressionProgram.py b/SofaRegressionProgram.py index 691d6ab..15e37ac 100644 --- a/SofaRegressionProgram.py +++ b/SofaRegressionProgram.py @@ -60,7 +60,7 @@ def write_sets_references(self, id_set=0): def write_all_sets_references(self): nbr_sets = len(self.scene_sets) - pbar_sets = pbh.ProgressBarHandler(total=self.nbr_sets, disable=args.disable_progress_bar) + pbar_sets = pbh.ProgressBarHandler(total=nbr_sets, disable=self.disable_progress_bar) pbar_sets.set_description("Write All sets") nbr_scenes = 0 @@ -145,6 +145,12 @@ def make_parser(): help='If set, will display more information', action='store_true' ) + parser.add_argument( + "--quiet", + dest="quiet", + help='If set, will only print error messages and results.', + action='store_true' + ) parser.add_argument( "--legacy-regression", dest="legacy_mode", @@ -185,11 +191,25 @@ def make_parser(): reg_prog.replay_references(replayId) sys.exit() + old_fd = os.dup(1) + if args.quiet: + # Save and redirect + sys.stdout.flush() + devnull = os.open(os.devnull, os.O_WRONLY) + os.dup2(devnull, 1) + os.close(devnull) + if args.write_mode: nbr_scenes = reg_prog.write_all_sets_references() else: nbr_scenes = reg_prog.compare_all_sets_references() + if args.quiet: + # Restore + sys.stdout.flush() + os.dup2(old_fd, 1) + os.close(old_fd) + np.set_printoptions(legacy='1.25') # revert printing floating-point type in numpy (concretely remove np.array when displaying a list of np.float) print ("### Number of sets Done: " + str(len(reg_prog.scene_sets))) diff --git a/tools/RegressionSceneList.py b/tools/RegressionSceneList.py index d370b31..6c8c196 100644 --- a/tools/RegressionSceneList.py +++ b/tools/RegressionSceneList.py @@ -109,7 +109,7 @@ def write_references(self, id_scene, print_log = False): def write_all_references(self): nbr_scenes = len(self.scenes_data_sets) - pbar_scenes = pbh.ProgressBarHandler(total=self.nbr_scenes, disable=self.disable_progress_bar) + pbar_scenes = pbh.ProgressBarHandler(total=nbr_scenes, disable=self.disable_progress_bar) pbar_scenes.set_description("Write all scenes from: " + self.file_path) for i in range(0, nbr_scenes):