def select_card(emitter, card_identifier: str) -> Card: if not card_identifier: cards = [] for filename in os.listdir(Card.CARD_DIR): filepath = Card.CARD_DIR / filename card = Card.load(filepath=filepath) cards.append(card) paint_cards(emitter=emitter, cards=cards, as_table=True) selection = click.prompt('Select card', type=click.IntRange(0, len(cards))) card = cards[selection] else: card = Card.load(identifier=card_identifier) return card
def _list(): """Show all character cards""" emitter = StdoutEmitter() if not Card.CARD_DIR.is_dir(): Card.CARD_DIR.mkdir() card_filepaths = list(Card.CARD_DIR.iterdir()) if not card_filepaths: emitter.error( f'No cards found at {Card.CARD_DIR}. ' f"To create one run 'nucypher {contacts.name} {create.name}'.") cards = list() for filename in card_filepaths: card = Card.load(filepath=Card.CARD_DIR / filename) cards.append(card) paint_cards(emitter=emitter, cards=cards, as_table=True)
def _list(): """Show all character cards""" emitter = StdoutEmitter() card_directory = Card.CARD_DIR try: card_filepaths = os.listdir(card_directory) except FileNotFoundError: os.mkdir(Card.CARD_DIR) card_filepaths = os.listdir(card_directory) if not card_filepaths: emitter.error( f'No cards found at {card_directory}. ' f"To create one run 'nucypher {contacts.name} {create.name}'.") cards = list() for filename in card_filepaths: card = Card.load(filepath=Card.CARD_DIR / filename) cards.append(card) paint_cards(emitter=emitter, cards=cards, as_table=True)