Make commands code a bit nicer

This commit is contained in:
Ivan Habunek 2022-12-31 09:11:05 +01:00
parent 67b52757a4
commit ce560eacc7
No known key found for this signature in database
GPG Key ID: F5F0623FF5EBCB3D
1 changed files with 14 additions and 13 deletions

View File

@ -8,6 +8,7 @@ import sys
from argparse import ArgumentParser, FileType, ArgumentTypeError from argparse import ArgumentParser, FileType, ArgumentTypeError
from collections import namedtuple from collections import namedtuple
from itertools import chain
from toot import config, commands, CLIENT_NAME, CLIENT_WEBSITE, __version__ from toot import config, commands, CLIENT_NAME, CLIENT_WEBSITE, __version__
from toot.exceptions import ApiError, ConsoleError from toot.exceptions import ApiError, ConsoleError
from toot.output import print_out, print_err from toot.output import print_out, print_err
@ -577,26 +578,26 @@ TAG_COMMANDS = [
), ),
] ]
COMMANDS = AUTH_COMMANDS + READ_COMMANDS + TUI_COMMANDS + POST_COMMANDS + STATUS_COMMANDS + ACCOUNTS_COMMANDS + TAG_COMMANDS COMMAND_GROUPS = [
("Authentication", AUTH_COMMANDS),
("TUI", TUI_COMMANDS),
("Read", READ_COMMANDS),
("Post", POST_COMMANDS),
("Status", STATUS_COMMANDS),
("Accounts", ACCOUNTS_COMMANDS),
("Hashtags", TAG_COMMANDS),
]
COMMANDS = list(chain(*[commands for _, commands in COMMAND_GROUPS]))
def print_usage(): def print_usage():
max_name_len = max(len(command.name) for command in COMMANDS) max_name_len = max(len(name) for name, _ in COMMAND_GROUPS)
groups = [
("Authentication", AUTH_COMMANDS),
("TUI", TUI_COMMANDS),
("Read", READ_COMMANDS),
("Post", POST_COMMANDS),
("Status", STATUS_COMMANDS),
("Accounts", ACCOUNTS_COMMANDS),
("Hashtags", TAG_COMMANDS),
]
print_out("<green>{}</green>".format(CLIENT_NAME)) print_out("<green>{}</green>".format(CLIENT_NAME))
print_out("<blue>v{}</blue>".format(__version__)) print_out("<blue>v{}</blue>".format(__version__))
for name, cmds in groups: for name, cmds in COMMAND_GROUPS:
print_out("") print_out("")
print_out(name + ":") print_out(name + ":")