Exemplo n.º 1
0
def create_and_write_compiled_outputs() -> None:
    """
    This method class will create the combined output files
    (ex: AllSets.json, AllCards.json, Standard.json)
    """
    # Compiled output files

    # CompiledList.json -- do not include ReferralMap
    write_to_file(
        mtgjson4.COMPILED_LIST_OUTPUT,
        create_compiled_list(
            list(set(mtgjson4.OUTPUT_FILES) - {mtgjson4.REFERRAL_DB_OUTPUT})),
    )

    # Keywords.json
    key_words = wizards.compile_comp_output()
    write_to_file(mtgjson4.KEY_WORDS_OUTPUT, key_words)

    # CardTypes.json
    compiled_types = wizards.compile_comp_types_output()
    write_to_file(mtgjson4.CARD_TYPES_OUTPUT, compiled_types)

    # version.json
    version_info = get_version_info()
    write_to_file(mtgjson4.VERSION_OUTPUT, version_info)

    # SetList.json
    set_list_info = get_all_set_list(mtgjson4.OUTPUT_FILES)
    write_to_file(mtgjson4.SET_LIST_OUTPUT, set_list_info)

    # AllSets.json
    all_sets = create_all_sets(mtgjson4.OUTPUT_FILES)
    write_to_file(mtgjson4.ALL_SETS_OUTPUT, all_sets)

    create_set_centric_outputs(all_sets)

    # AllCards.json
    all_cards = create_all_cards(mtgjson4.OUTPUT_FILES)
    write_to_file(mtgjson4.ALL_CARDS_OUTPUT, all_cards)

    create_card_centric_outputs(all_cards)

    # decks/*.json
    deck_names = []
    for deck in magic_precons.build_and_write_decks(DECKS_URL):
        deck_name = util.capital_case_without_symbols(deck["name"])
        write_deck_to_file(f"{deck_name}_{deck['code']}", deck)
        deck_names.append({
            "code": deck["code"],
            "fileName": deck_name,
            "name": deck["name"],
            "releaseDate": deck["releaseDate"],
        })

    # DeckLists.json
    write_to_file(
        mtgjson4.DECK_LISTS_OUTPUT,
        create_deck_compiled_list(
            sorted(deck_names, key=lambda deck_obj: deck_obj["name"])),
    )
Exemplo n.º 2
0
def create_and_write_compiled_outputs() -> None:
    """
    This method class will create the combined output files
    (ex: AllSets.json, AllCards.json, Standard.json)
    """
    # Files that should not be combined into compiled outputs
    files_to_ignore: List[str] = [
        mtgjson4.ALL_SETS_OUTPUT,
        mtgjson4.ALL_CARDS_OUTPUT,
        mtgjson4.SET_LIST_OUTPUT,
        mtgjson4.KEY_WORDS_OUTPUT,
        mtgjson4.VERSION_OUTPUT,
        mtgjson4.STANDARD_OUTPUT,
        mtgjson4.MODERN_OUTPUT,
        mtgjson4.ALL_CARDS_NO_FUN_OUTPUT,
        mtgjson4.ALL_SETS_NO_FUN_OUTPUT,
        mtgjson4.REFERRAL_DB_OUTPUT,
    ]

    # AllSets.json
    all_sets = create_all_sets(files_to_ignore)
    write_to_file(mtgjson4.ALL_SETS_OUTPUT, all_sets)

    # AllCards.json
    all_cards = create_all_cards(files_to_ignore)
    write_to_file(mtgjson4.ALL_CARDS_OUTPUT, all_cards)

    # SetList.json
    set_list_info = get_all_set_list(files_to_ignore)
    write_to_file(mtgjson4.SET_LIST_OUTPUT, set_list_info)

    # Keywords.json
    key_words = wizards.compile_comp_output()
    write_to_file(mtgjson4.KEY_WORDS_OUTPUT, key_words)

    # version.json
    version_info = get_version_info()
    write_to_file(mtgjson4.VERSION_OUTPUT, version_info)

    # Standard.json
    write_to_file(mtgjson4.STANDARD_OUTPUT, create_standard_only_output())

    # Modern.json
    write_to_file(mtgjson4.MODERN_OUTPUT, create_modern_only_output())

    # AllSetsNoUn.json
    all_sets_no_fun = create_all_sets_no_funny(files_to_ignore)
    write_to_file(mtgjson4.ALL_SETS_NO_FUN_OUTPUT, all_sets_no_fun)

    # AllCardsNoUn.json
    all_cards_no_fun = create_all_cards_no_funny(files_to_ignore)
    write_to_file(mtgjson4.ALL_CARDS_NO_FUN_OUTPUT, all_cards_no_fun)
Exemplo n.º 3
0
def create_and_write_compiled_outputs() -> None:
    """
    This method class will create the combined output files
    (ex: AllSets.json, AllCards.json, Standard.json)
    """
    # Compiled output files
    files_to_ignore: List[str] = [
        mtgjson4.ALL_CARDS_OUTPUT,
        mtgjson4.ALL_DECKS_DIR_OUTPUT,
        mtgjson4.ALL_SETS_DIR_OUTPUT,
        mtgjson4.ALL_SETS_OUTPUT,
        mtgjson4.CARD_TYPES_OUTPUT,
        mtgjson4.COMPILED_LIST_OUTPUT,
        mtgjson4.DECK_LISTS_OUTPUT,
        mtgjson4.KEY_WORDS_OUTPUT,
        mtgjson4.MODERN_OUTPUT,
        mtgjson4.SET_LIST_OUTPUT,
        mtgjson4.STANDARD_OUTPUT,
        mtgjson4.VERSION_OUTPUT,
        mtgjson4.VINTAGE_OUTPUT,
    ]

    # CompiledList.json -- do not include ReferralMap
    write_to_file(mtgjson4.COMPILED_LIST_OUTPUT,
                  create_compiled_list(sorted(files_to_ignore)))

    # File that should be also ignored -- must be added AFTER CompiledList.json
    files_to_ignore.append(mtgjson4.REFERRAL_DB_OUTPUT)

    # Keywords.json
    key_words = wizards.compile_comp_output()
    write_to_file(mtgjson4.KEY_WORDS_OUTPUT, key_words)

    # CardTypes.json
    compiled_types = wizards.compile_comp_types_output()
    write_to_file(mtgjson4.CARD_TYPES_OUTPUT, compiled_types)

    # version.json
    version_info = get_version_info()
    write_to_file(mtgjson4.VERSION_OUTPUT, version_info)

    # SetList.json
    set_list_info = get_all_set_list(files_to_ignore)
    write_to_file(mtgjson4.SET_LIST_OUTPUT, set_list_info)

    # AllSets.json
    all_sets = create_all_sets(files_to_ignore)
    write_to_file(mtgjson4.ALL_SETS_OUTPUT, all_sets)

    # AllCards.json
    all_cards = create_all_cards(files_to_ignore)
    write_to_file(mtgjson4.ALL_CARDS_OUTPUT, all_cards)

    # Standard.json
    write_to_file(mtgjson4.STANDARD_OUTPUT, create_standard_only_output())

    # Modern.json
    write_to_file(mtgjson4.MODERN_OUTPUT, create_modern_only_output())

    # Vintage.json
    all_sets_no_fun = create_vintage_only_output(files_to_ignore)
    write_to_file(mtgjson4.VINTAGE_OUTPUT, all_sets_no_fun)

    # decks/*.json
    deck_names = []
    for deck in magic_precons.build_and_write_decks(DECKS_URL):
        deck_name = util.capital_case_without_symbols(deck["name"])
        write_deck_to_file(deck_name, deck)
        deck_names.append({
            "fileName": deck_name,
            "name": deck["name"],
            "code": deck["code"]
        })

    # DeckLists.json
    write_to_file(
        mtgjson4.DECK_LISTS_OUTPUT,
        create_deck_compiled_list(
            sorted(deck_names, key=lambda deck_obj: deck_obj["name"])),
    )
Exemplo n.º 4
0
def create_and_write_compiled_outputs() -> None:
    """
    This method class will create the combined output files
    (ex: AllSets.json, AllCards.json, Standard.json)
    """
    # Compiled output files

    # CompiledList.json -- do not include ReferralMap
    write_to_file(
        mtgjson4.COMPILED_LIST_OUTPUT,
        create_compiled_list(
            list(set(mtgjson4.OUTPUT_FILES) - {mtgjson4.REFERRAL_DB_OUTPUT})
        ),
    )

    # Keywords.json
    key_words = wizards.compile_comp_output()
    write_to_file(mtgjson4.KEY_WORDS_OUTPUT, key_words)

    # CardTypes.json
    compiled_types = wizards.compile_comp_types_output()
    write_to_file(mtgjson4.CARD_TYPES_OUTPUT, compiled_types)

    # version.json
    version_info = get_version_info()
    write_to_file(mtgjson4.VERSION_OUTPUT, version_info)

    # SetList.json
    set_list_info = get_all_set_list(mtgjson4.OUTPUT_FILES)
    write_to_file(mtgjson4.SET_LIST_OUTPUT, set_list_info)

    # AllSets.json
    all_sets = create_all_sets(mtgjson4.OUTPUT_FILES)
    write_to_file(mtgjson4.ALL_SETS_OUTPUT, all_sets)

    # AllCards.json
    all_cards = create_all_cards(mtgjson4.OUTPUT_FILES)
    write_to_file(mtgjson4.ALL_CARDS_OUTPUT, all_cards)

    # Standard.json
    write_to_file(mtgjson4.STANDARD_OUTPUT, create_standard_only_output())

    # Modern.json
    write_to_file(mtgjson4.MODERN_OUTPUT, create_modern_only_output())

    # Vintage.json
    all_sets_no_fun = create_vintage_only_output(mtgjson4.OUTPUT_FILES)
    write_to_file(mtgjson4.VINTAGE_OUTPUT, all_sets_no_fun)

    # decks/*.json
    deck_names = []
    for deck in magic_precons.build_and_write_decks(DECKS_URL):
        deck_name = util.capital_case_without_symbols(deck["name"])
        write_deck_to_file(deck_name, deck)
        deck_names.append(
            {
                "code": deck["code"],
                "fileName": deck_name,
                "name": deck["name"],
                "releaseDate": deck["releaseDate"],
            }
        )

    # DeckLists.json
    write_to_file(
        mtgjson4.DECK_LISTS_OUTPUT,
        create_deck_compiled_list(
            sorted(deck_names, key=lambda deck_obj: deck_obj["name"])
        ),
    )