Пример #1
0
def draft(args):
    create_tts_mtg_decks(
        decks=get_limited_pool(set_code=args.code, number_of_packs=3),
        path=args.out,
        card_size_text=args.size,
        name=f'Draft Pool {args.code.upper()} ({date.today()})'
    )
Пример #2
0
def main(out, name, size):
    deck_dict = {
        cardname: 1
        for cardname in cardname_identifier_overrides.keys()
    }

    decklist = get_collection(deck_dict)

    create_tts_mtg_decks({name: decklist}, out, card_size_text=size)
Пример #3
0
def sealed(args):
    create_tts_mtg_decks(
        decks=get_limited_pool(set_code=args.code,
                               number_of_players=args.players,
                               packs_per_player=args.packs),
        path=args.out,
        card_size_text=args.size,
        name=f'Sealed Pool {args.code.upper()} ({date.today()})',
        packs_per_player=args.packs,
        log_card_names=False)
Пример #4
0
def decklist(args):
    decks = parse_decklist(args.file)
    collected_decks = {}
    for deckname, decklist in decks.items():
        collected_decks[deckname] = get_collection(decklist)

    create_tts_mtg_decks(
        decks=collected_decks,
        path=args.out,
        card_size_text=args.size,
    )
Пример #5
0
def random_commander(args):
    deck_list, deck_name = create_random_commander_deck(verbose=args.verbose,
                                                        query=' '.join(
                                                            args.query),
                                                        deck_name=args.name)
    if not deck_list:
        return

    create_tts_mtg_decks(
        decks={deck_name: deck_list},
        path=args.out,
        card_size_text=args.size,
    )
Пример #6
0
def decklist(args):
    # Handle sideboards, sets
    deck_name = os.path.splitext(os.path.basename(args.file.name))[0]
    decklist_array = args.file.readlines()

    # Flip decklist_array ['[amount] [cardname]']
    # to {[cardname]: [amount]}
    deck_dict = {
        ' '.join(entry.split(' ')[1:]).strip()
        : int(entry.split(' ')[0])
        for entry in decklist_array
        if entry.strip() and not entry.startswith('//')
    }

    create_tts_mtg_decks(
        decks={deck_name: get_collection(deck_dict)},
        path=args.out,
        card_size_text=args.size,
    )
Пример #7
0
def main(out, name, size, etched, lands, sld, sta):
    deck_array = [({
        'name': cardname
    }, 1) for cardname in cardname_identifier_overrides.keys()]

    if etched:
        name += ' - Etched'
        control_array = [({
            'name': card['name']
        }, 1) for card in search_for_cards('frame:etched')]

    elif lands:
        name += ' - Lands'
        control_array = [({
            'name': card['name']
        }, 1) for card in search_for_cards('t:basic order:color')]
        control_array += [({
            'name': card['name']
        }, 1) for card in search_for_cards('Pathway t:land')]
        control_array += [({
            'name': card['name']
        }, 1) for card in search_for_cards('Triome t:land')]
        control_array += [({
            'name': card['name']
        }, 1) for card in search_for_cards('s:zne order:set')]
        # TODO: Add tests for these land types
        #  when overrides for them get added.
        # control_array += [
        #     ({'name': card['name']}, 1)
        #     for card in search_for_cards('is:checkland')
        # ]
        # control_array += [
        #     ({'name': card['name']}, 1)
        #     for card in search_for_cards('is:dual')
        # ]
        # control_array += [
        #     ({'name': card['name']}, 1)
        #     for card in search_for_cards('is:shockland')
        # ]

    elif sld:
        name += ' - SLD'
        control_array = [({
            'name': card['name']
        }, 1) for card in search_for_cards('set:sld')]

    elif sta:
        name += ' - STA'
        control_array = [({
            'name': card['name']
        }, 1) for card in search_for_cards('set:sta')]

    else:
        control_array = []

    for control in control_array:
        if control not in deck_array:
            print(control[0])

    decklist = get_collection(control_array)

    create_tts_mtg_decks({name: decklist}, out, card_size_text=size)