diff --git a/streamrip/config.py b/streamrip/config.py index 49ce622..b820e5b 100644 --- a/streamrip/config.py +++ b/streamrip/config.py @@ -72,7 +72,7 @@ class Config: "non_studio_albums": False, "non_remaster": False, }, - "downloads": {"folder": DOWNLOADS_DIR}, + "downloads": {"folder": DOWNLOADS_DIR, "source_subdirectories": False}, "artwork": { "embed": True, "embed_size": "large", diff --git a/streamrip/core.py b/streamrip/core.py index b26e46c..08169c5 100644 --- a/streamrip/core.py +++ b/streamrip/core.py @@ -142,19 +142,29 @@ class MusicDL(list): self.append(item) def download(self): + arguments = { "database": self.db, "parent_folder": self.config.session["downloads"]["folder"], "folder_format": self.config.session["path_format"]["folder"], "track_format": self.config.session["path_format"]["track"], - "keep_downloaded_cover": self.config.session["artwork"]["keep_downloaded_cover"], - "keep_embedded_cover": self.config.session["artwork"]["keep_embedded_cover"], + "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"], } logger.debug("Arguments from config: %s", arguments) 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"] if isinstance(item, Artist): filters_ = tuple( diff --git a/streamrip/downloader.py b/streamrip/downloader.py index e6293de..0169214 100644 --- a/streamrip/downloader.py +++ b/streamrip/downloader.py @@ -898,7 +898,7 @@ class Album(Tracklist): self.cover_urls.get(download_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) tqdm_download(self.cover_urls[download_cover_size], cover_path)