Fix youtube downloading wrong track, saving exceptions, attempt to fix deezer
This commit is contained in:
@@ -44,12 +44,18 @@ class Downloader:
|
||||
driver: DeezerDriver
|
||||
):
|
||||
track = await driver.reverse_get_track(song_id)
|
||||
return cls(
|
||||
song_id=str(song_id),
|
||||
driver=driver,
|
||||
track=track['results'],
|
||||
song=await FullSongItem.from_deezer(track)
|
||||
)
|
||||
try:
|
||||
return cls(
|
||||
song_id=str(song_id),
|
||||
driver=driver,
|
||||
track=track['results'],
|
||||
song=await FullSongItem.from_deezer(track)
|
||||
)
|
||||
except KeyError:
|
||||
from icecream import ic
|
||||
ic(track)
|
||||
await driver.renew_engine()
|
||||
return await cls.build(song_id, driver)
|
||||
|
||||
async def to_bytestream(self) -> DeezerBytestream:
|
||||
quality = track_formats.MP3_128
|
||||
|
||||
@@ -34,3 +34,6 @@ class DeezerDriver:
|
||||
)
|
||||
|
||||
return data['data']
|
||||
|
||||
async def renew_engine(self):
|
||||
self.engine = await self.engine.from_arl(self.engine.arl)
|
||||
|
||||
@@ -20,6 +20,7 @@ HTTP_HEADERS = {
|
||||
@define
|
||||
class DeezerEngine:
|
||||
cookies: dict
|
||||
arl: str = None
|
||||
token: str = None
|
||||
|
||||
@classmethod
|
||||
@@ -34,6 +35,7 @@ class DeezerEngine:
|
||||
|
||||
return cls(
|
||||
cookies=cookies,
|
||||
arl=arl,
|
||||
token=token
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user