diff --git a/src/transcode/transcoder.py b/src/transcode/transcoder.py index 169e816..668e018 100644 --- a/src/transcode/transcoder.py +++ b/src/transcode/transcoder.py @@ -13,7 +13,6 @@ class Transcoder: def transcode(self): transcode_list = [] - file_whitelist = ['.jpg', '.jpeg', '.png'] for artist in self.input_root.iterdir(): if artist.is_dir(): artist_out = Path(self.output_root) / artist.name @@ -27,11 +26,10 @@ class Transcoder: album_out.mkdir() done_file = album / 'DONE' open(done_file, 'a').close() + self.copy_album_art(album, album_out) for file in album.iterdir(): if file.is_file() and file.suffix.lower() == '.flac': transcode_list.append((str(file), str(album_out / f"{file.stem}.{self.extension}"))) - elif file.is_file() and file.suffix.lower() in file_whitelist: - shutil.copy(file, album_out / file.name) else: print(f"Warning, skipping non-dir '{album}' found in artist '{artist.parts[-1]}'") continue @@ -70,3 +68,11 @@ class Transcoder: except Exception: return f"ERROR: Transcoding of '{in_track}' failed." + @staticmethod + def copy_album_art(in_dir: Path, out_dir: Path, file_whitelist: list = None): + if file_whitelist is None: + file_whitelist = ['.jpg', '.jpeg', '.png'] + + for file in in_dir.iterdir(): + if file.is_file() and file.suffix.lower() in file_whitelist: + shutil.copy(file, out_dir / file.name)