Implement feature request #30

This commit is contained in:
nathom 2021-04-07 17:15:39 -07:00
parent 5ce8ee1e65
commit ac8e341a3b
3 changed files with 14 additions and 4 deletions

View file

@ -72,7 +72,7 @@ class Config:
"non_studio_albums": False, "non_studio_albums": False,
"non_remaster": False, "non_remaster": False,
}, },
"downloads": {"folder": DOWNLOADS_DIR}, "downloads": {"folder": DOWNLOADS_DIR, "source_subdirectories": False},
"artwork": { "artwork": {
"embed": True, "embed": True,
"embed_size": "large", "embed_size": "large",

View file

@ -142,19 +142,29 @@ class MusicDL(list):
self.append(item) self.append(item)
def download(self): def download(self):
arguments = { arguments = {
"database": self.db, "database": self.db,
"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_downloaded_cover": self.config.session["artwork"]["keep_downloaded_cover"], "keep_downloaded_cover": self.config.session["artwork"][
"keep_embedded_cover": self.config.session["artwork"]["keep_embedded_cover"], "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"],
} }
logger.debug("Arguments from config: %s", arguments) logger.debug("Arguments from config: %s", arguments)
for item in self: for item in self:
if self.config.session["downloads"]["source_subdirectories"]:
arguments["parent_folder"] = os.path.join(
arguments["parent_folder"], capitalize(item.client.source)
)
arguments["quality"] = self.config.session[item.client.source]["quality"] arguments["quality"] = self.config.session[item.client.source]["quality"]
if isinstance(item, Artist): if isinstance(item, Artist):
filters_ = tuple( filters_ = tuple(

View file

@ -898,7 +898,7 @@ class Album(Tracklist):
self.cover_urls.get(download_cover_size, embed_cover_size) self.cover_urls.get(download_cover_size, embed_cover_size)
!= embed_cover_size != embed_cover_size
): ):
embed_cover_path = cover_path.replace('.jpg', "_embed.jpg") embed_cover_path = cover_path.replace(".jpg", "_embed.jpg")
shutil.move(cover_path, embed_cover_path) shutil.move(cover_path, embed_cover_path)
tqdm_download(self.cover_urls[download_cover_size], cover_path) tqdm_download(self.cover_urls[download_cover_size], cover_path)