#!/usr/bin/env python3
"""Download PDF files from arXiv.\n
Given an arXiv ID (e.g. 2604.20797 or hep-ph/0603175), downloads the PDF from
arXiv and saves it to {id}.pdf in the appropriate YYYY/ARXIV_ID/ folder.\n
Usage:
    python scripts/download_arxiv_pdf.py 2604.20797
    python scripts/download_arxiv_pdf.py hep-ph/0603175
    python scripts/download_arxiv_pdf.py 2604.20797 2604.12345
"""

import argparse
import os
import sys

sys.path.insert(0, os.path.dirname(__file__))

from action_lib import download_paper_pdf_from_arxiv
from inspire_lib import log_to_stderr

def main() -> None:
    """Parse CLI arguments and download PDFs for the given arXiv IDs."""
    parser = argparse.ArgumentParser(
        description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
    )
    parser.add_argument(
        "arxiv_ids",
        nargs="+",
        help="arXiv paper ID(s), e.g. 2604.20797 or hep-ph/0603175",
    )
    args = parser.parse_args()
    #
    for arxiv_id in args.arxiv_ids:
        download_paper_pdf_from_arxiv(arxiv_id)
    #
    log_to_stderr("All done.")

if __name__ == "__main__":
    main()
