mirror of
https://github.com/nathom/streamrip.git
synced 2025-05-29 06:25:34 -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": True,
|
||||||
"embed_size": "large",
|
"embed_size": "large",
|
||||||
"download_size": "original",
|
"download_size": "original",
|
||||||
"keep_image": True,
|
"keep_embedded_cover": False,
|
||||||
|
"keep_downloaded_cover": True,
|
||||||
},
|
},
|
||||||
"path_format": {"folder": FOLDER_FORMAT, "track": TRACK_FORMAT},
|
"path_format": {"folder": FOLDER_FORMAT, "track": TRACK_FORMAT},
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,7 +147,8 @@ class MusicDL(list):
|
||||||
"parent_folder": self.config.session["downloads"]["folder"],
|
"parent_folder": self.config.session["downloads"]["folder"],
|
||||||
"folder_format": self.config.session["path_format"]["folder"],
|
"folder_format": self.config.session["path_format"]["folder"],
|
||||||
"track_format": self.config.session["path_format"]["track"],
|
"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": self.config.session["artwork"]["embed"],
|
||||||
"embed_cover_size": self.config.session["artwork"]["embed_size"],
|
"embed_cover_size": self.config.session["artwork"]["embed_size"],
|
||||||
"download_cover_size": self.config.session["artwork"]["download_size"],
|
"download_cover_size": self.config.session["artwork"]["download_size"],
|
||||||
|
|
|
@ -810,7 +810,7 @@ class Album(Tracklist):
|
||||||
"bit_depth": 16,
|
"bit_depth": 16,
|
||||||
"sampling_rate": 44100,
|
"sampling_rate": 44100,
|
||||||
"tracktotal": resp.get("track_total") or resp.get("nb_tracks"),
|
"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)
|
raise InvalidSourceError(client.source)
|
||||||
|
@ -886,59 +886,56 @@ class Album(Tracklist):
|
||||||
|
|
||||||
self.download_message()
|
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")
|
embed_cover_size = kwargs.get("embed_cover_size", "large")
|
||||||
if os.path.isfile(cover_path):
|
if not os.path.isfile(cover_path):
|
||||||
logger.debug("Cover already downloaded: %s. Skipping", cover_path)
|
if embed_cover_size not in self.cover_urls:
|
||||||
else:
|
embed_cover_size = "large"
|
||||||
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)
|
|
||||||
|
|
||||||
|
tqdm_download(self.cover_urls[embed_cover_size], cover_path)
|
||||||
if (
|
if (
|
||||||
downloaded_cover_size != embed_cover_size
|
self.cover_urls.get(download_cover_size, embed_cover_size)
|
||||||
or os.path.size(cover_path) > FLAC_MAX_BLOCKSIZE
|
!= embed_cover_size
|
||||||
):
|
):
|
||||||
dl_cover_path = cover_path.replace(
|
embed_cover_path = cover_path.replace('.jpg', "_embed.jpg")
|
||||||
".jpg", f"_{downloaded_cover_size}.jpg"
|
shutil.move(cover_path, embed_cover_path)
|
||||||
)
|
tqdm_download(self.cover_urls[download_cover_size], cover_path)
|
||||||
shutil.move(cover_path, dl_cover_path)
|
|
||||||
tqdm_download(self.cover_urls[embed_cover_size], cover_path)
|
|
||||||
|
|
||||||
embed_cover = kwargs.get("embed_cover", True) # embed by default
|
embed_cover = kwargs.get("embed_cover", True) # embed by default
|
||||||
if self.client.source != "deezer" and embed_cover:
|
if self.client.source != "deezer" and embed_cover:
|
||||||
cover = self.get_cover_obj(cover_path, quality)
|
cover = self.get_cover_obj(cover_path, quality)
|
||||||
|
|
||||||
download_args = {
|
download_args = {
|
||||||
'quality': quality,
|
"quality": quality,
|
||||||
'parent_folder': folder,
|
"parent_folder": folder,
|
||||||
'progress_bar': kwargs.get("progress_bar", True),
|
"progress_bar": kwargs.get("progress_bar", True),
|
||||||
'database': database,
|
"database": database,
|
||||||
'track_format': kwargs.get("track_format", TRACK_FORMAT),
|
"track_format": kwargs.get("track_format", TRACK_FORMAT),
|
||||||
}
|
}
|
||||||
for track in self:
|
for track in self:
|
||||||
logger.debug("Downloading track to %s", folder)
|
logger.debug("Downloading track to %s", folder)
|
||||||
if self.disctotal > 1:
|
if self.disctotal > 1:
|
||||||
disc_folder = os.path.join(folder, f"Disc {track.meta.discnumber}")
|
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)
|
track.download(**download_args)
|
||||||
|
|
||||||
if kwargs.get("tag_tracks", True) and self.client.source != "deezer":
|
if kwargs.get("tag_tracks", True) and self.client.source != "deezer":
|
||||||
track.tag(cover=cover, embed_cover=embed_cover)
|
track.tag(cover=cover, embed_cover=embed_cover)
|
||||||
|
|
||||||
if not kwargs.get("keep_cover", True):
|
if not kwargs.get("keep_embedded_cover", True):
|
||||||
logger.debug(f"Removing cover at {cover_path}")
|
try:
|
||||||
|
os.remove(embed_cover_path)
|
||||||
|
except NameError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# TODO: fix this, bad solution
|
||||||
|
if not kwargs.get("keep_downloaded_cover", True):
|
||||||
try:
|
try:
|
||||||
os.remove(cover_path)
|
os.remove(cover_path)
|
||||||
os.remove(dl_cover_path)
|
except NameError:
|
||||||
except Exception as e:
|
pass
|
||||||
logger.debug(e)
|
|
||||||
|
|
||||||
self.downloaded = True
|
self.downloaded = True
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue