import logging from typing import List import requests from update_market_vendors.config import Config from update_market_vendors.util import MarketsResult, send_request, get_session, get_headers def get_markets(config: Config, logger: logging.Logger, all_markets: List[str]) -> MarketsResult: """Returns set of market codes defined for Apple Music API. :param config: config object. :param logger: logger object. :param all_markets: list of market codes existing in our database. """ headers = get_headers(config) session = get_session(headers) request = requests.Request("GET", config.APPLE_MARKETS_URL) response = send_request(session, request, logger) if not response: MarketsResult(confirmed=[], skipped=all_markets) allowed_markets = [market["id"] for market in response.json()["data"]] logger.info(f"Apple Music markets request returned {len(allowed_markets)}/{len(all_markets)}.") return MarketsResult(confirmed=allowed_markets, skipped=[])