def download_all_titles(titles: List[str], dump_path_by_type_list: List[Dict[str, str]]) -> Tuple[bool, Dict[str, bool]]:
    """Try to download all wikipedia pages with the given titles. Download all or nothing, no partial downloads.

    Args:
        titles (List[str]):
        dump_path_by_type_list (List[Dict[str, str]]):

    Returns:
        bool: True if all wikipedia pages can be found and downloaded successfully, else False.
        Dict[str, bool]: The key is the tile str that has been accessed in this function call, the value is whether the
            page exists or not.
    """
    pages: List[WikipediaPage] = []
    title_valid: Dict[str, bool] = {}
    for title in titles:
        page = WIKI_WIKI.page(title)
        if not page.exists():
            title_valid[title] = False
            return False, title_valid
        pages.append(page)
        title_valid[title] = True

    for page, dump_path_by_type in zip(pages, dump_path_by_type_list):
        for filetype, dump_path in dump_path_by_type.items():
            obj = FILE_TYPE_TO_GET_FUNCTION[filetype](page)
            FILE_TYPE_TO_DUMP_FUNCTION[filetype](obj, dump_path)

    return True, title_valid
Try to download all wikipedia pages with the given titles. Download all or nothing, no partial downloads.

    Args:
        titles (List[str]):
        dump_path_by_type_list (List[Dict[str, str]]):

    Returns:
        bool: True if all wikipedia pages can be found and downloaded successfully, else False.
        Dict[str, bool]: The key is the tile str that has been accessed in this function call, the value is whether the
            page exists or not.
    
data_process/open_benchmarks/utils/wikipedia.py