From 7f9e806c23c8628f9b67a9ae4ff007e39f702a1d Mon Sep 17 00:00:00 2001 From: Jan Bertram Date: Wed, 8 Nov 2023 18:43:10 +0100 Subject: [PATCH] New feature: h displays help --- README.md | 4 ++-- rep_cli.py | 31 ++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 23acb03..46042c4 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,8 @@ At the moment, an alpha version is undertaken, with these features: - Set an active user (`a number_of_user`) - Show the pieces stored in the database (`s`) - Mark pieces as mastered for the active user (`m number_of_work`) -- Show pieces by composer (`sc` shows composers, `c number_of_composer` shows pieces) -- Show movements through pieces (`sp piece_number`) +- Show pieces by composer (`c` shows composers, `s number_of_composer` shows pieces) +- Show movements through works (`sw work_number`) - Mark movement as mastered for active user (`m number_of_work number_of_movement`) - (planned) Show possible commands (`h`) - (planned) Show mastered works/movements for activated user diff --git a/rep_cli.py b/rep_cli.py index ad71022..8e7f565 100644 --- a/rep_cli.py +++ b/rep_cli.py @@ -6,15 +6,15 @@ class Session: self.user = -1 self.db_agent = db_agent self.resultstring = 'no results yet' - self.commands = {'a': (self.set_user, ''), - 'c': (self.show_composers, ''), - 'm': (self.mark_work_as_mastered, ''), - 'n': (self.create_new_user, ''), - 's': (self.show_works, ''), - 'sc': (self.show_works, ''), - 'sp': (self.show_movements, ''), - 'su': (self.show_users, ''), - 'q': (self.quit, '') + self.commands = {'a': (self.set_user, 'Set an active user\n Usage: a number_of_user'), + 'c': (self.show_composers, 'Shows composers'), + 'h': (self.show_help, 'Displays this help document'), + 'm': (self.mark_work_as_mastered, 'Marks work or movement as mastered for the active user\n Usage: m number_of_work, m number_of_work number_of_movement'), + 'n': (self.create_new_user, 'Creates new user\n Usage: n firstname name'), + 's': (self.show_works, 'Show the works stored in the database\n Usage: s, s number_of_composer'), + 'sw': (self.show_movements, 'Show movements of a work\n Usage: sw work_number'), + 'su': (self.show_users, 'Show all users'), + 'q': (self.quit, 'Quits the program') } def set_user(self, arguments): @@ -67,6 +67,19 @@ class Session: fun_resultstring += f'{item[0]}: {item[2]}, {item[1]}\n' return fun_resultstring + def show_help(self, arguments): + fun_resultstring = '' + if len(arguments) > 0: + qu_com = arguments[0] + if qu_com in self.commands: + fun_resultstring += f'{qu_com}: {self.commands[qu_com][1]}' + else: + fun_resultstring += f'Command {qu_com} not known, for help press h' + else: + for key, value in self.commands.items(): + fun_resultstring += f'{key}: {value[1]}\n' + return fun_resultstring + def show_movements(self, arguments): work_id = arguments[0] work = work_under_id(work_id, self.db_agent)