mirror of
https://git.vectorsigma.ru/public/tubearchivist.git
synced 2026-08-05 01:29:24 +00:00
* Bugfix #934: Download a video from the queue Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Bugfix #934: Download a video from the queue Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Bugfix #934: Download a video from the queue Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Bugfix #934: Download a video from the queue Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Bugfix #934: Download a video from the queue Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Bugfix #934: Download a video from the queue Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Improved code * Improved code Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Fixed file because of black pre-commit Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> * Fixed file because of black pre-commit Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com> --------- Signed-off-by: Fabio Kruger <10956489+krufab@users.noreply.github.com>
This commit is contained in:
@@ -167,14 +167,14 @@ class PendingList(PendingIndex):
|
|||||||
self.to_skip = False
|
self.to_skip = False
|
||||||
self.missing_videos = False
|
self.missing_videos = False
|
||||||
|
|
||||||
def parse_url_list(self):
|
def parse_url_list(self, auto_start=False):
|
||||||
"""extract youtube ids from list"""
|
"""extract youtube ids from list"""
|
||||||
self.missing_videos = []
|
self.missing_videos = []
|
||||||
self.get_download()
|
self.get_download()
|
||||||
self.get_indexed()
|
self.get_indexed()
|
||||||
total = len(self.youtube_ids)
|
total = len(self.youtube_ids)
|
||||||
for idx, entry in enumerate(self.youtube_ids):
|
for idx, entry in enumerate(self.youtube_ids):
|
||||||
self._process_entry(entry)
|
self._process_entry(entry, auto_start=auto_start)
|
||||||
if not self.task:
|
if not self.task:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -183,11 +183,11 @@ class PendingList(PendingIndex):
|
|||||||
progress=(idx + 1) / total,
|
progress=(idx + 1) / total,
|
||||||
)
|
)
|
||||||
|
|
||||||
def _process_entry(self, entry):
|
def _process_entry(self, entry, auto_start=False):
|
||||||
"""process single entry from url list"""
|
"""process single entry from url list"""
|
||||||
vid_type = self._get_vid_type(entry)
|
vid_type = self._get_vid_type(entry)
|
||||||
if entry["type"] == "video":
|
if entry["type"] == "video":
|
||||||
self._add_video(entry["url"], vid_type)
|
self._add_video(entry["url"], vid_type, auto_start=auto_start)
|
||||||
elif entry["type"] == "channel":
|
elif entry["type"] == "channel":
|
||||||
self._parse_channel(entry["url"], vid_type)
|
self._parse_channel(entry["url"], vid_type)
|
||||||
elif entry["type"] == "playlist":
|
elif entry["type"] == "playlist":
|
||||||
@@ -204,8 +204,14 @@ class PendingList(PendingIndex):
|
|||||||
|
|
||||||
return VideoTypeEnum(vid_type_str)
|
return VideoTypeEnum(vid_type_str)
|
||||||
|
|
||||||
def _add_video(self, url, vid_type):
|
def _add_video(self, url, vid_type, auto_start=False):
|
||||||
"""add video to list"""
|
"""add video to list"""
|
||||||
|
if auto_start and url in set(
|
||||||
|
i["youtube_id"] for i in self.all_pending
|
||||||
|
):
|
||||||
|
PendingInteract(youtube_id=url, status="priority").update_status()
|
||||||
|
return
|
||||||
|
|
||||||
if url not in self.missing_videos and url not in self.to_skip:
|
if url not in self.missing_videos and url not in self.to_skip:
|
||||||
self.missing_videos.append((url, vid_type))
|
self.missing_videos.append((url, vid_type))
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ def extrac_dl(self, youtube_ids, auto_start=False, status="pending"):
|
|||||||
to_add = youtube_ids
|
to_add = youtube_ids
|
||||||
|
|
||||||
pending_handler = PendingList(youtube_ids=to_add, task=self)
|
pending_handler = PendingList(youtube_ids=to_add, task=self)
|
||||||
pending_handler.parse_url_list()
|
pending_handler.parse_url_list(auto_start=auto_start)
|
||||||
videos_added = pending_handler.add_to_pending(
|
videos_added = pending_handler.add_to_pending(
|
||||||
status=status, auto_start=auto_start
|
status=status, auto_start=auto_start
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user