From 8b069132a9eebf758a76c1b47da1e66aef84ede0 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Thu, 23 Apr 2020 23:30:32 -0700 Subject: [PATCH] Update lexicon-player cli commands --- amanuensis/cli/lexicon.py | 80 ++++++++++++++++++------------------- amanuensis/lexicon/setup.py | 4 +- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/amanuensis/cli/lexicon.py b/amanuensis/cli/lexicon.py index 1bc21ef..d03b15e 100644 --- a/amanuensis/cli/lexicon.py +++ b/amanuensis/cli/lexicon.py @@ -6,7 +6,7 @@ from amanuensis.cli.helpers import ( add_argument, no_argument, requires_lexicon, requires_user, alias, config_get, config_set, CONFIG_GET_ROOT_VALUE) from amanuensis.config import RootConfigDirectoryContext -from amanuensis.models import LexiconModel +from amanuensis.models import LexiconModel, UserModel logger = logging.getLogger(__name__) @@ -130,6 +130,7 @@ def command_config(args): # Player/character commands # + @alias('lpa') @requires_lexicon @requires_user @@ -137,22 +138,24 @@ def command_player_add(args): """ Add a player to a lexicon """ + lexicon: LexiconModel = args.lexicon + user: UserModel = args.user + # Module imports - from amanuensis.config import logger - from amanuensis.lexicon.manage import add_player + from amanuensis.lexicon import add_player_to_lexicon # Verify arguments - if args.user.in_lexicon(args.lexicon): - logger.error('"{0.username}" is already a player in "{1.name}"'.format( - args.user, args.lexicon)) + if user.uid in lexicon.cfg.join.joined: + logger.error(f'"{user.cfg.username}" is already a player ' + f'in "{lexicon.cfg.name}"') return -1 # Perform command - add_player(args.lexicon, args.user) + add_player_to_lexicon(user, lexicon) # Output - logger.info('Added user "{0.username}" to lexicon "{1.name}"'.format( - args.user, args.lexicon)) + logger.info(f'Added user "{user.cfg.username}" to ' + f'lexicon "{lexicon.cfg.name}"') return 0 @@ -166,26 +169,26 @@ def command_player_remove(args): Removing a player dissociates them from any characters they control but does not delete any character data. """ - # Module imports - from amanuensis.config import logger - from amanuensis.lexicon.manage import remove_player + raise NotImplementedError() + # # Module imports + # from amanuensis.lexicon.manage import remove_player - # Verify arguments - if not args.user.in_lexicon(args.lexicon): - logger.error('"{0.username}" is not a player in lexicon "{1.name}"' - ''.format(args.user, args.lexicon)) - return -1 - if args.user.id == args.lexicon.editor: - logger.error("Can't remove the editor of a lexicon") - return -1 + # # Verify arguments + # if not args.user.in_lexicon(args.lexicon): + # logger.error('"{0.username}" is not a player in lexicon "{1.name}"' + # ''.format(args.user, args.lexicon)) + # return -1 + # if args.user.id == args.lexicon.editor: + # logger.error("Can't remove the editor of a lexicon") + # return -1 - # Perform command - remove_player(args.lexicon, args.user) + # # Perform command + # remove_player(args.lexicon, args.user) - # Output - logger.info('Removed "{0.username}" from lexicon "{1.name}"'.format( - args.user, args.lexicon)) - return 0 + # # Output + # logger.info('Removed "{0.username}" from lexicon "{1.name}"'.format( + # args.user, args.lexicon)) + # return 0 @alias('lpl') @@ -194,19 +197,19 @@ def command_player_list(args): """ List all players in a lexicon """ - import json - # Module imports - from amanuensis.config import logger - from amanuensis.user import UserModel + raise NotImplementedError() + # import json + # # Module imports + # from amanuensis.user import UserModel - # Perform command - players = list(map( - lambda uid: UserModel.by(uid=uid).username, - args.lexicon.join.joined)) + # # Perform command + # players = list(map( + # lambda uid: UserModel.by(uid=uid).username, + # args.lexicon.join.joined)) - # Output - print(json.dumps(players, indent=2)) - return 0 + # # Output + # print(json.dumps(players, indent=2)) + # return 0 @alias('lcc') @@ -220,7 +223,6 @@ def command_char_create(args): The specified player will be set as the character's player. """ # Module imports - from amanuensis.config import logger from amanuensis.lexicon import LexiconModel from amanuensis.lexicon.manage import add_character from amanuensis.user import UserModel @@ -251,7 +253,6 @@ def command_char_delete(args): they have contributed rather than deleting it. """ # Module imports - from amanuensis.config import logger from amanuensis.lexicon import LexiconModel from amanuensis.lexicon.manage import delete_character @@ -274,7 +275,6 @@ def command_char_list(args): """ import json # Module imports - from amanuensis.config import logger from amanuensis.lexicon import LexiconModel # Verify arguments diff --git a/amanuensis/lexicon/setup.py b/amanuensis/lexicon/setup.py index f7e4174..10426da 100644 --- a/amanuensis/lexicon/setup.py +++ b/amanuensis/lexicon/setup.py @@ -9,7 +9,7 @@ from amanuensis.models import LexiconModel, UserModel def player_can_join_lexicon( player: UserModel, lexicon: LexiconModel, - password: str = None): + password: str = None) -> bool: """ Checks whether the given player can join a lexicon """ @@ -36,7 +36,7 @@ def player_can_join_lexicon( def add_player_to_lexicon( player: UserModel, - lexicon: LexiconModel): + lexicon: LexiconModel) -> None: """ Unconditionally adds a player to a lexicon """