From 127e2294e5e0aa973524128e0224f1d53fb3e808 Mon Sep 17 00:00:00 2001 From: Jan Bertram Date: Fri, 10 Nov 2023 21:47:36 +0100 Subject: [PATCH] New feature: if work is mastered is shown for active user by checkbox --- rep_cli.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/rep_cli.py b/rep_cli.py index aa39826..8ec8455 100644 --- a/rep_cli.py +++ b/rep_cli.py @@ -61,8 +61,13 @@ class Session: is_mastered = True return is_mastered - def work_is_mastered(self, work): - pass + def percentage_of_work_is_mastered(self, work): # work, not work_id, as a work-object is created anyway when there's need to check + number_of_movements = len(work.values['movements']) + count_mastered = 0 + for key in work.values['movements']: + if self.movement_is_mastered(work.id(), key): + count_mastered += 1 + return int(count_mastered / number_of_movements * 100) def create_new_user(self, arguments): first_name, name = arguments[0], arguments[1] @@ -166,6 +171,13 @@ class Session: list_of_works.append(work_under_id(item[0], self.db_agent)) fun_resultstring = '' for work in list_of_works: + mastered = self.percentage_of_work_is_mastered(work) + if mastered == 100: + fun_resultstring += '[x] ' + elif mastered > 0: + fun_resultstring += '[/] ' + else: + fun_resultstring += '[ ] ' fun_resultstring += f'{work.id()}: {work.pretty_string()}\n' return fun_resultstring