Fix download_videos key #177

This commit is contained in:
Nathan Thomas 2021-09-13 22:31:13 -07:00
parent c6e976cade
commit c4824e875f

View file

@ -874,6 +874,10 @@ class Video(Media):
:param kwargs:
"""
if not kwargs.get("download_videos", True):
return
import m3u8
import requests
@ -892,7 +896,7 @@ class Video(Media):
segment.uri for segment in parsed_m3u.segments
) as pool:
bar = get_tqdm_bar(
len(pool), desc="Downloading Video", unit="Chunk"
len(pool), desc=self._progress_desc, unit="Chunk"
)
def update_tqdm_bar():
@ -966,6 +970,10 @@ class Video(Media):
"""
pass
@property
def _progress_desc(self) -> str:
return style(f"Video {self.tracknumber:02}", fg="blue")
@property
def path(self) -> str:
"""Get path to download the mp4 file.
@ -1497,7 +1505,7 @@ class Album(Tracklist, Media):
if not self.get("streamable", False):
raise NonStreamable(f"This album is not streamable ({self.id} ID)")
self._load_tracks(resp)
self._load_tracks(resp, kwargs.get("download_videos", True))
self.loaded = True
@classmethod
@ -1622,7 +1630,7 @@ class Album(Tracklist, Media):
meta.id = resp["id"]
return meta
def _load_tracks(self, resp):
def _load_tracks(self, resp, download_videos: bool = True):
"""Load the tracks into self from an API response.
This uses a classmethod to convert an item into a Track object, which
@ -1631,6 +1639,7 @@ class Album(Tracklist, Media):
logging.debug("Loading %d tracks to album", self.tracktotal)
for track in _get_tracklist(resp, self.client.source):
if track.get("type") == "Music Video":
if download_videos:
self.append(Video.from_album_meta(track, self.client))
else:
self.append(