Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)