import requests
from pathlib import Path

class CoverDownloader:
    def __init__(self, outdir: Path, cache: bool):
        self.outdir = outdir
        self.cache = cache

    def download(self, url: str, artist: str, song: str, spotify_uri: str):
        if (Path(self.outdir) / f"{artist} - {song}.jpg").is_file() and self.cache:
            return

        Path(self.outdir).mkdir(parents=True, exist_ok=True)
        with open(Path(self.outdir) / f"{artist} - {song}.jpg", "wb") as f:
            f.write(requests.get(url).content)