def __prime_databases(self) -> None: """ Prime price databases before multiprocessing iterations This adds values from _now_ to the database """ tcgplayer.generate_and_store_tcgplayer_prices(self.all_printings_path) cardhoader.get_card_data("")
def add_price_data(cards: List[MTGJSONCard]) -> List[MTGJSONCard]: """ Add the MTGStocks and CardHoarder content to the card :param cards: Output cards :return: Enriched output """ for card in cards: if not card.get("tcgplayerProductId"): LOGGER.warning(f"No TCGPlayer ID Found for {card.get('name')}") continue stocks_data = mtgstocks.get_card_data(card.get("tcgplayerProductId")) ch_data = cardhoader.get_card_data(card.get("uuid")) if stocks_data or ch_data: card.set_all({ "mtgstocksId": stocks_data.get("id"), "prices": { "paper": stocks_data.get("paper"), "paperFoil": stocks_data.get("foil"), "mtgo": ch_data.get("mtgo"), "mtgoFoil": ch_data.get("mtgoFoil"), }, }) return cards
def build_price_data( card: Dict[str, Any]) -> Tuple[str, Dict[str, Dict[str, str]]]: """ Build up price info for a single card and add it to global index :param card: Card to get price data of :return Card object """ LOGGER.info(f"Building price for {card['name']}") return card["uuid"], {"prices": cardhoader.get_card_data(card["uuid"])}
def add_price_data(cards: List[MTGJSONCard]) -> List[MTGJSONCard]: """ Add the CardHoarder content to the card :param cards: Output cards :return: Enriched output """ for card in cards: if not card.get("tcgplayerProductId"): LOGGER.warning(f"No TCGPlayer ID Found for {card.get('name')}") continue card.set_all({ "prices": cardhoader.get_card_data(card.get("uuid"), limited=True) }) return cards