|
|
@ -753,10 +753,11 @@ class YoutubePlaylistIE(InfoExtractor): |
|
|
|
return [None] |
|
|
|
|
|
|
|
# Extract video identifiers |
|
|
|
ids_in_page = set() |
|
|
|
ids_in_page = [] |
|
|
|
for mobj in re.finditer(self._VIDEO_INDICATOR, page): |
|
|
|
ids_in_page.add(mobj.group(1)) |
|
|
|
video_ids.extend(list(ids_in_page)) |
|
|
|
if mobj.group(1) not in 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: |
|
|
|
break |
|
|
@ -901,6 +902,9 @@ if __name__ == '__main__': |
|
|
|
youtube_pl_ie = YoutubePlaylistIE(youtube_ie) |
|
|
|
|
|
|
|
# File downloader |
|
|
|
charset = locale.getdefaultlocale()[1] |
|
|
|
if charset is None: |
|
|
|
charset = 'ascii' |
|
|
|
fd = FileDownloader({ |
|
|
|
'usenetrc': opts.usenetrc, |
|
|
|
'username': opts.username, |
|
|
@ -910,7 +914,7 @@ if __name__ == '__main__': |
|
|
|
'forcetitle': opts.gettitle, |
|
|
|
'simulate': (opts.simulate or opts.geturl or opts.gettitle), |
|
|
|
'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.useliteral and u'%(title)s-%(id)s.%(ext)s') |
|
|
|
or u'%(id)s.%(ext)s'), |
|
|
|