mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-01 23:12:40 +00:00
Move duplicate check to generic.py
This commit is contained in:
parent
610134730a
commit
37e3cbe22e
2 changed files with 24 additions and 10 deletions
|
@ -343,16 +343,6 @@ def url_result(url, ie=None, video_id=None):
|
|||
@staticmethod
|
||||
def playlist_result(entries, playlist_id=None, playlist_title=None):
|
||||
"""Returns a playlist"""
|
||||
# Ensure we don't have any duplicates in the playlist
|
||||
seen = set()
|
||||
new_list = []
|
||||
for url in entries:
|
||||
theurl = tuple(url.items())
|
||||
if theurl not in seen:
|
||||
seen.add(theurl)
|
||||
new_list.append(url)
|
||||
entries = new_list
|
||||
|
||||
video_info = {'_type': 'playlist',
|
||||
'entries': entries}
|
||||
if playlist_id:
|
||||
|
|
|
@ -494,6 +494,14 @@ def _real_extract(self, url):
|
|||
if matches:
|
||||
urlrs = [self.url_result(unescapeHTML(tuppl[1]), 'Youtube')
|
||||
for tuppl in matches]
|
||||
# First, ensure we have a duplicate free list of entries
|
||||
seen = set()
|
||||
new_list = []
|
||||
theurl = tuple(url.items())
|
||||
if theurl not in seen:
|
||||
seen.add(theurl)
|
||||
new_list.append(url)
|
||||
urlrs = new_list
|
||||
return self.playlist_result(
|
||||
urlrs, playlist_id=video_id, playlist_title=video_title)
|
||||
|
||||
|
@ -503,6 +511,14 @@ def _real_extract(self, url):
|
|||
if matches:
|
||||
urlrs = [self.url_result(unescapeHTML(tuppl[1]))
|
||||
for tuppl in matches]
|
||||
# First, ensure we have a duplicate free list of entries
|
||||
seen = set()
|
||||
new_list = []
|
||||
theurl = tuple(url.items())
|
||||
if theurl not in seen:
|
||||
seen.add(theurl)
|
||||
new_list.append(url)
|
||||
urlrs = new_list
|
||||
return self.playlist_result(
|
||||
urlrs, playlist_id=video_id, playlist_title=video_title)
|
||||
|
||||
|
@ -615,6 +631,14 @@ def _real_extract(self, url):
|
|||
if matches:
|
||||
urlrs = [self.url_result(unescapeHTML(eurl), 'FunnyOrDie')
|
||||
for eurl in matches]
|
||||
# First, ensure we have a duplicate free list of entries
|
||||
seen = set()
|
||||
new_list = []
|
||||
theurl = tuple(url.items())
|
||||
if theurl not in seen:
|
||||
seen.add(theurl)
|
||||
new_list.append(url)
|
||||
urlrs = new_list
|
||||
return self.playlist_result(
|
||||
urlrs, playlist_id=video_id, playlist_title=video_title)
|
||||
|
||||
|
|
Loading…
Reference in a new issue