NEW: AOCDay.run_part(): when timing, shift all following progress bars down by one to not interfere

This commit is contained in:
Stefan Harmuth 2023-12-25 19:45:31 +01:00
parent 916ab481cf
commit 5d5e9fb8e5

View File

@ -32,6 +32,7 @@ class AOCDay:
self._current_test_file = None
self._current_test_solution = None
self.__main_progress_bar_id = None
self.__main_progress_bar_pos = 0
self.progress_bars = {}
def part1(self) -> Any:
@ -68,6 +69,7 @@ class AOCDay:
answer = self._call_part_func(self.part_func[part])
else:
stopwatch = StopWatch(auto_start=False)
self.__main_progress_bar_pos = 1
for _ in tqdm(range(timeit_number), desc=f"Part {part+1}", leave=False):
stopwatch.start()
answer = self._call_part_func(self.part_func[part])
@ -290,7 +292,7 @@ class AOCDay:
if bar_id not in self.progress_bars:
pbar = tqdm(
total=total,
position=len(self.progress_bars),
position=len(self.progress_bars) + self.__main_progress_bar_pos,
leave=False,
file=sys.stdout,
)