Merge pull request #510 from nathom/505

Fix Deezer downloads when only MP3 is available
This commit is contained in:
Nathan Thomas 2023-12-24 10:56:47 -08:00 committed by GitHub
commit 72e9851922
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 11 deletions

View File

@ -153,7 +153,7 @@ class DeezerClient(Client):
_, format_str = quality_map[quality]
dl_info["quality_to_size"] = [
track_info.get(f"FILESIZE_{format}", 0) for _, format in quality_map
int(track_info.get(f"FILESIZE_{format}", 0)) for _, format in quality_map
]
token = track_info["TRACK_TOKEN"]

View File

@ -89,8 +89,11 @@ class DeezerDownloadable(Downloadable):
logger.debug("Deezer info for downloadable: %s", info)
self.session = session
self.url = info["url"]
self.quality = info["quality"]
self._size = int(info["quality_to_size"][self.quality])
max_quality_available = max(
i for i, size in enumerate(info["quality_to_size"]) if size > 0
)
self.quality = min(info["quality"], max_quality_available)
self._size = info["quality_to_size"][self.quality]
if self.quality <= 1:
self.extension = "mp3"
else:

View File

@ -1,6 +1,5 @@
from __future__ import annotations
import json
import logging
from dataclasses import dataclass
from typing import Optional
@ -86,10 +85,6 @@ class TrackMetadata:
@classmethod
def from_deezer(cls, album: AlbumMetadata, resp) -> TrackMetadata | None:
with open("resp.json", "w") as f:
json.dump(resp, f)
logger.debug(resp.keys())
track_id = str(resp["id"])
bit_depth = 16
sampling_rate = 44.1
@ -152,9 +147,6 @@ class TrackMetadata:
@classmethod
def from_tidal(cls, album: AlbumMetadata, track) -> TrackMetadata:
with open("tidal_track.json", "w") as f:
json.dump(track, f)
title = typed(track["title"], str).strip()
item_id = str(track["id"])
version = track.get("version")