26 lines
639 B
Python
26 lines
639 B
Python
import subprocess
|
|
import os
|
|
from pathlib import Path
|
|
|
|
from config import load_config
|
|
|
|
CACHE_DIR = Path(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)
|