Merge branch 'master' of https://github.com/rg3/youtube-dl into multipart_videos
This commit is contained in:
commit
d215e32ddb
@ -529,6 +529,10 @@ YouTube requires an additional signature since September 2012 which is not suppo
|
|||||||
|
|
||||||
In February 2015, the new YouTube player contained a character sequence in a string that was misinterpreted by old versions of youtube-dl. See [above](#how-do-i-update-youtube-dl) for how to update youtube-dl.
|
In February 2015, the new YouTube player contained a character sequence in a string that was misinterpreted by old versions of youtube-dl. See [above](#how-do-i-update-youtube-dl) for how to update youtube-dl.
|
||||||
|
|
||||||
|
### HTTP Error 429: Too Many Requests or 402: Payment Required
|
||||||
|
|
||||||
|
These two error codes indicate that the service is blocking your IP address because of overuse. Contact the service and ask them to unblock your IP address, or - if you have acquired a whitelisted IP address already - use the [`--proxy` or `--network-address` options](#network-options) to select another IP address.
|
||||||
|
|
||||||
### SyntaxError: Non-ASCII character ###
|
### SyntaxError: Non-ASCII character ###
|
||||||
|
|
||||||
The error
|
The error
|
||||||
|
@ -4,8 +4,10 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
import collections
|
import collections
|
||||||
|
import contextlib
|
||||||
import datetime
|
import datetime
|
||||||
import errno
|
import errno
|
||||||
|
import fileinput
|
||||||
import io
|
import io
|
||||||
import itertools
|
import itertools
|
||||||
import json
|
import json
|
||||||
@ -1481,8 +1483,11 @@ class YoutubeDL(object):
|
|||||||
return self._download_retcode
|
return self._download_retcode
|
||||||
|
|
||||||
def download_with_info_file(self, info_filename):
|
def download_with_info_file(self, info_filename):
|
||||||
with io.open(info_filename, 'r', encoding='utf-8') as f:
|
with contextlib.closing(fileinput.FileInput(
|
||||||
info = json.load(f)
|
[info_filename], mode='r',
|
||||||
|
openhook=fileinput.hook_encoded('utf-8'))) as f:
|
||||||
|
# FileInput doesn't have a read method, we can't call json.load
|
||||||
|
info = json.loads('\n'.join(f))
|
||||||
try:
|
try:
|
||||||
self.process_ie_result(info, download=True)
|
self.process_ie_result(info, download=True)
|
||||||
except DownloadError:
|
except DownloadError:
|
||||||
|
@ -140,7 +140,7 @@ class VKIE(InfoExtractor):
|
|||||||
if not video_id:
|
if not video_id:
|
||||||
video_id = '%s_%s' % (mobj.group('oid'), mobj.group('id'))
|
video_id = '%s_%s' % (mobj.group('oid'), mobj.group('id'))
|
||||||
|
|
||||||
info_url = 'http://vk.com/al_video.php?act=show&al=1&video=%s' % video_id
|
info_url = 'http://vk.com/al_video.php?act=show&al=1&module=video&video=%s' % video_id
|
||||||
info_page = self._download_webpage(info_url, video_id)
|
info_page = self._download_webpage(info_url, video_id)
|
||||||
|
|
||||||
ERRORS = {
|
ERRORS = {
|
||||||
@ -152,7 +152,10 @@ class VKIE(InfoExtractor):
|
|||||||
'use --username and --password options to provide account credentials.',
|
'use --username and --password options to provide account credentials.',
|
||||||
|
|
||||||
r'<!>Unknown error':
|
r'<!>Unknown error':
|
||||||
'Video %s does not exist.'
|
'Video %s does not exist.',
|
||||||
|
|
||||||
|
r'<!>Видео временно недоступно':
|
||||||
|
'Video %s is temporarily unavailable.',
|
||||||
}
|
}
|
||||||
|
|
||||||
for error_re, error_msg in ERRORS.items():
|
for error_re, error_msg in ERRORS.items():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user