From 618203dffb9a32d4293c5e1f963b3d5bb27a59c8 Mon Sep 17 00:00:00 2001 From: Rafael Moraes <50295204+glomatico@users.noreply.github.com> Date: Tue, 3 Mar 2026 18:30:58 -0300 Subject: [PATCH] Use actual_file_format for audio filenames --- votify/downloader/audio.py | 15 ++++++--------- votify/interface/audio.py | 1 + votify/interface/types.py | 1 + 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/votify/downloader/audio.py b/votify/downloader/audio.py index 223e0c5..8798e8e 100644 --- a/votify/downloader/audio.py +++ b/votify/downloader/audio.py @@ -241,28 +241,25 @@ class SpotifyAudioDownloader(SpotifyBaseDownloader): item.media.cover_url, ) - def get_staged_file_extension(self, file_format: str) -> str: - if file_format == "mp4": - return ".m4a" - return "." + file_format - def parse_item(self, media: SpotifyMedia) -> DownloadItem: item = DownloadItem(media=media) if not media.stream_info: - file_format = self.interface.song.audio_quality_priority[0].file_format + actual_file_format = self.interface.song.audio_quality_priority[ + 0 + ].actual_file_format else: - file_format = media.stream_info.audio_track.file_format + actual_file_format = media.stream_info.audio_track.actual_file_format item.staged_path = self.get_temp_path( media.media_id, item.uuid_, "staged", - self.get_staged_file_extension(file_format), + "." + actual_file_format, ) item.final_path = self.get_final_path( media.tags, - self.get_staged_file_extension(file_format), + "." + actual_file_format, media.playlist_tags, ) if media.playlist_tags: diff --git a/votify/interface/audio.py b/votify/interface/audio.py index bc8c475..4164725 100644 --- a/votify/interface/audio.py +++ b/votify/interface/audio.py @@ -93,6 +93,7 @@ class SpotifyAudioInterface(SpotifyBaseInterface): stream_url=stream_url, widevine_pssh=pssh, file_format=audio_quality.file_format, + actual_file_format=audio_quality.actual_file_format, ), ) diff --git a/votify/interface/types.py b/votify/interface/types.py index 4acbc21..d9fe2b9 100644 --- a/votify/interface/types.py +++ b/votify/interface/types.py @@ -25,6 +25,7 @@ class StreamInfo: stream_url: str | list[str] widevine_pssh: str file_format: str + actual_file_format: str | None = None @dataclass