Fix TypeError in decode() method and unordered playlist URLs
This commit is contained in:
parent
5487aea5d8
commit
27d98b6e25
1 changed files with 8 additions and 4 deletions
12
youtube-dl
12
youtube-dl
|
@ -753,10 +753,11 @@ class YoutubePlaylistIE(InfoExtractor):
|
||||||
return [None]
|
return [None]
|
||||||
|
|
||||||
# Extract video identifiers
|
# Extract video identifiers
|
||||||
ids_in_page = set()
|
ids_in_page = []
|
||||||
for mobj in re.finditer(self._VIDEO_INDICATOR, page):
|
for mobj in re.finditer(self._VIDEO_INDICATOR, page):
|
||||||
ids_in_page.add(mobj.group(1))
|
if mobj.group(1) not in ids_in_page:
|
||||||
video_ids.extend(list(ids_in_page))
|
ids_in_page.append(mobj.group(1))
|
||||||
|
video_ids.extend(ids_in_page)
|
||||||
|
|
||||||
if (self._MORE_PAGES_INDICATOR % (playlist_id, pagenum + 1)) not in page:
|
if (self._MORE_PAGES_INDICATOR % (playlist_id, pagenum + 1)) not in page:
|
||||||
break
|
break
|
||||||
|
@ -901,6 +902,9 @@ if __name__ == '__main__':
|
||||||
youtube_pl_ie = YoutubePlaylistIE(youtube_ie)
|
youtube_pl_ie = YoutubePlaylistIE(youtube_ie)
|
||||||
|
|
||||||
# File downloader
|
# File downloader
|
||||||
|
charset = locale.getdefaultlocale()[1]
|
||||||
|
if charset is None:
|
||||||
|
charset = 'ascii'
|
||||||
fd = FileDownloader({
|
fd = FileDownloader({
|
||||||
'usenetrc': opts.usenetrc,
|
'usenetrc': opts.usenetrc,
|
||||||
'username': opts.username,
|
'username': opts.username,
|
||||||
|
@ -910,7 +914,7 @@ if __name__ == '__main__':
|
||||||
'forcetitle': opts.gettitle,
|
'forcetitle': opts.gettitle,
|
||||||
'simulate': (opts.simulate or opts.geturl or opts.gettitle),
|
'simulate': (opts.simulate or opts.geturl or opts.gettitle),
|
||||||
'format': opts.format,
|
'format': opts.format,
|
||||||
'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode(locale.getdefaultlocale()[1]))
|
'outtmpl': ((opts.outtmpl is not None and opts.outtmpl.decode(charset))
|
||||||
or (opts.usetitle and u'%(stitle)s-%(id)s.%(ext)s')
|
or (opts.usetitle and u'%(stitle)s-%(id)s.%(ext)s')
|
||||||
or (opts.useliteral and u'%(title)s-%(id)s.%(ext)s')
|
or (opts.useliteral and u'%(title)s-%(id)s.%(ext)s')
|
||||||
or u'%(id)s.%(ext)s'),
|
or u'%(id)s.%(ext)s'),
|
||||||
|
|
Loading…
Reference in a new issue