mirror of
https://github.com/nathom/streamrip.git
synced 2025-05-27 21:44:27 -04:00
New names for embedded cover and downloaded cover
This commit is contained in:
parent
117fadb7e5
commit
5ce8ee1e65
3 changed files with 32 additions and 33 deletions
|
@ -77,7 +77,8 @@ class Config:
|
|||
"embed": True,
|
||||
"embed_size": "large",
|
||||
"download_size": "original",
|
||||
"keep_image": True,
|
||||
"keep_embedded_cover": False,
|
||||
"keep_downloaded_cover": True,
|
||||
},
|
||||
"path_format": {"folder": FOLDER_FORMAT, "track": TRACK_FORMAT},
|
||||
}
|
||||
|
|
|
@ -147,7 +147,8 @@ class MusicDL(list):
|
|||
"parent_folder": self.config.session["downloads"]["folder"],
|
||||
"folder_format": self.config.session["path_format"]["folder"],
|
||||
"track_format": self.config.session["path_format"]["track"],
|
||||
"keep_cover": self.config.session["artwork"]["keep_image"],
|
||||
"keep_downloaded_cover": self.config.session["artwork"]["keep_downloaded_cover"],
|
||||
"keep_embedded_cover": self.config.session["artwork"]["keep_embedded_cover"],
|
||||
"embed_cover": self.config.session["artwork"]["embed"],
|
||||
"embed_cover_size": self.config.session["artwork"]["embed_size"],
|
||||
"download_cover_size": self.config.session["artwork"]["download_size"],
|
||||
|
|
|
@ -810,7 +810,7 @@ class Album(Tracklist):
|
|||
"bit_depth": 16,
|
||||
"sampling_rate": 44100,
|
||||
"tracktotal": resp.get("track_total") or resp.get("nb_tracks"),
|
||||
"disctotal": max(track['disk_number'] for track in resp['tracks']),
|
||||
"disctotal": max(track["disk_number"] for track in resp["tracks"]),
|
||||
}
|
||||
|
||||
raise InvalidSourceError(client.source)
|
||||
|
@ -886,59 +886,56 @@ class Album(Tracklist):
|
|||
|
||||
self.download_message()
|
||||
|
||||
downloaded_cover_size = kwargs.get("download_cover_size", "original")
|
||||
click.secho("Downloading cover art", fg="magenta")
|
||||
download_cover_size = kwargs.get("download_cover_size", "original")
|
||||
embed_cover_size = kwargs.get("embed_cover_size", "large")
|
||||
if os.path.isfile(cover_path):
|
||||
logger.debug("Cover already downloaded: %s. Skipping", cover_path)
|
||||
else:
|
||||
click.secho("Downloading cover art", fg="magenta")
|
||||
if downloaded_cover_size in self.cover_urls:
|
||||
tqdm_download(self.cover_urls[downloaded_cover_size], cover_path)
|
||||
else:
|
||||
logger.debug(
|
||||
f"Cover size {downloaded_cover_size} not available, defaulting to large"
|
||||
)
|
||||
tqdm_download(self.cover_urls["large"], cover_path)
|
||||
if not os.path.isfile(cover_path):
|
||||
if embed_cover_size not in self.cover_urls:
|
||||
embed_cover_size = "large"
|
||||
|
||||
tqdm_download(self.cover_urls[embed_cover_size], cover_path)
|
||||
if (
|
||||
downloaded_cover_size != embed_cover_size
|
||||
or os.path.size(cover_path) > FLAC_MAX_BLOCKSIZE
|
||||
self.cover_urls.get(download_cover_size, embed_cover_size)
|
||||
!= embed_cover_size
|
||||
):
|
||||
dl_cover_path = cover_path.replace(
|
||||
".jpg", f"_{downloaded_cover_size}.jpg"
|
||||
)
|
||||
shutil.move(cover_path, dl_cover_path)
|
||||
tqdm_download(self.cover_urls[embed_cover_size], cover_path)
|
||||
embed_cover_path = cover_path.replace('.jpg', "_embed.jpg")
|
||||
shutil.move(cover_path, embed_cover_path)
|
||||
tqdm_download(self.cover_urls[download_cover_size], cover_path)
|
||||
|
||||
embed_cover = kwargs.get("embed_cover", True) # embed by default
|
||||
if self.client.source != "deezer" and embed_cover:
|
||||
cover = self.get_cover_obj(cover_path, quality)
|
||||
|
||||
download_args = {
|
||||
'quality': quality,
|
||||
'parent_folder': folder,
|
||||
'progress_bar': kwargs.get("progress_bar", True),
|
||||
'database': database,
|
||||
'track_format': kwargs.get("track_format", TRACK_FORMAT),
|
||||
"quality": quality,
|
||||
"parent_folder": folder,
|
||||
"progress_bar": kwargs.get("progress_bar", True),
|
||||
"database": database,
|
||||
"track_format": kwargs.get("track_format", TRACK_FORMAT),
|
||||
}
|
||||
for track in self:
|
||||
logger.debug("Downloading track to %s", folder)
|
||||
if self.disctotal > 1:
|
||||
disc_folder = os.path.join(folder, f"Disc {track.meta.discnumber}")
|
||||
download_args['parent_folder'] = disc_folder
|
||||
download_args["parent_folder"] = disc_folder
|
||||
|
||||
track.download(**download_args)
|
||||
|
||||
if kwargs.get("tag_tracks", True) and self.client.source != "deezer":
|
||||
track.tag(cover=cover, embed_cover=embed_cover)
|
||||
|
||||
if not kwargs.get("keep_cover", True):
|
||||
logger.debug(f"Removing cover at {cover_path}")
|
||||
if not kwargs.get("keep_embedded_cover", True):
|
||||
try:
|
||||
os.remove(embed_cover_path)
|
||||
except NameError:
|
||||
pass
|
||||
|
||||
# TODO: fix this, bad solution
|
||||
if not kwargs.get("keep_downloaded_cover", True):
|
||||
try:
|
||||
os.remove(cover_path)
|
||||
os.remove(dl_cover_path)
|
||||
except Exception as e:
|
||||
logger.debug(e)
|
||||
except NameError:
|
||||
pass
|
||||
|
||||
self.downloaded = True
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue