From 286828c9931c499b3c6f310e791a1ccd70927f9c Mon Sep 17 00:00:00 2001 From: Ville Rantanen Date: Thu, 13 Dec 2018 22:18:58 +0200 Subject: [PATCH] mnager option order switch --- README.md | 6 +++--- manager.py | 42 +++++++++++++++--------------------------- 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index f1784f6..23467d9 100644 --- a/README.md +++ b/README.md @@ -21,15 +21,15 @@ [preview](http://localhost:8041/preview/my_poll) - Change to `draft: false` to enable voting - Add tokens for the vote: - `./manager token --prefix http://localhost:8041 my_poll` + `./manager my_poll token --prefix http://localhost:8041` - Open the link to vote -- Get summary of votes: `./manager summary my_poll` +- Get summary of votes: `./manager my_poll summary` ## Additional usage During the poll, you can observe the vote counts: - Add an observer token: - `./manager token --prefix http://localhost:8041 --role observer my_poll` + `./manager my_poll token --prefix http://localhost:8041 --role observer` - Open the link to see vote counts - If the question se allows voters to see results after casting their vote `show_results: true`, then observer can also see the results. diff --git a/manager.py b/manager.py index 83c48a3..626ea30 100644 --- a/manager.py +++ b/manager.py @@ -83,9 +83,14 @@ def parse_options(database, questions): help = "Path to database [%(default)s]") parser.add_argument('--questions', action="store", dest="questions", default = default_questions, help = "Path to question folder [%(default)s]") + parser.add_argument( + dest = "name", + help = "Name of the question set", + nargs = '?', + default = None + ) - - subparsers = parser.add_subparsers(help='sub-command help', dest='subparser_name') + subparsers = parser.add_subparsers(help='sub-command', dest='subparser_name') ## tokens parser_token = subparsers.add_parser('token', help = "Manage tokens") parser_token.add_argument( @@ -117,10 +122,7 @@ def parse_options(database, questions): default = False, help = "List existing tokens, instead of generating more" ) - parser_token.add_argument( - dest = "name", - help = "Name of the question set" - ) + ## summary of vote parser_summary = subparsers.add_parser('summary', help = "Vote results") @@ -131,12 +133,9 @@ def parse_options(database, questions): default = False, help = "TSV output" ) - parser_summary.add_argument( - dest = "name", - help = "Name of the question set" - ) + ## clear - parser_clear_votes = subparsers.add_parser('clear_votes', help = "Delete results") + parser_clear_votes = subparsers.add_parser('clear-votes', help = "Delete results") parser_clear_votes.add_argument( '--really', action="store_true", @@ -144,13 +143,9 @@ def parse_options(database, questions): default = False, help = "Really delete results for the vote" ) - parser_clear_votes.add_argument( - dest = "name", - help = "Name of the question set" - ) ## clear tokens - parser_clear_tokens = subparsers.add_parser('clear_tokens', help = "Delete tokens") + parser_clear_tokens = subparsers.add_parser('clear-tokens', help = "Delete tokens") parser_clear_tokens.add_argument( '--really', action="store_true", @@ -158,17 +153,12 @@ def parse_options(database, questions): default = False, help = "Really delete tokens for the vote" ) - parser_clear_tokens.add_argument( - dest = "name", - help = "Name of the question set" - ) - - ## list - parser_list = subparsers.add_parser('list', help = "List all question set names") parsed = parser.parse_args() - if parsed.subparser_name == None: - parser.print_help() + if parsed.name == None: + print("Names of question sets:") + list_question_sets(parsed) + sys.exit(0) return parsed @@ -285,8 +275,6 @@ def clear_tokens(options): def main(database, questions): options = parse_options(database, questions) - if options.subparser_name == "list": - list_question_sets(options) if options.subparser_name == "token": manage_tokens(options) if options.subparser_name == "summary":