Fix for [BUG] max() iterable argument is empty #677 (#683)

* seems to work - halt progress if this info is missing

* Minor fixes

---------

Co-authored-by: Nathan Thomas <nathanthomas707@gmail.com>
This commit is contained in:
Craig 2024-06-11 05:36:10 +02:00 committed by GitHub
parent f855572ebf
commit 5c6e452679
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View file

@ -124,9 +124,14 @@ class DeezerDownloadable(Downloadable):
self.session = session
self.url = info["url"]
self.source: str = "deezer"
max_quality_available = max(
qualities_available = [
i for i, size in enumerate(info["quality_to_size"]) if size > 0
]
if len(qualities_available) == 0:
raise NonStreamableError(
"Missing download info. Skipping.",
)
max_quality_available = max(qualities_available)
self.quality = min(info["quality"], max_quality_available)
self._size = info["quality_to_size"][self.quality]
if self.quality <= 1:

View file

@ -79,7 +79,7 @@ class PendingPlaylistTrack(Pending):
self.client.get_downloadable(self.id, quality),
)
except NonStreamableError as e:
logger.error("Error fetching download info for track: %s", e)
logger.error(f"Error fetching download info for track {self.id}: {e}")
self.db.set_failed(self.client.source, "track", self.id)
return None