import subprocess import os from pathlib import Path from config import load_config CACHE_DIR = os.path.expanduser(load_config()["cache_dir"]) def fetch_package(meta: dict) -> tuple[Path, Path]: CACHE_DIR.mkdir(parents=True, exist_ok=True) url = meta["url"] filename = meta["filename"] sig_url = url + ".sig" pkg_path = CACHE_DIR / filename sig_path = CACHE_DIR / (filename + ".sig") _curl(url, pkg_path) _curl(sig_url, sig_path) return pkg_path, sig_path def _curl(url: str, dest: Path): print(f":: Fetching {url}") subprocess.run(["curl", "-L", "-o", str(dest), url], check=True)