projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'akamai_pv' of https://github.com/remitamine/youtube-dl into remitamine...
[youtube-dl]
/
youtube_dl
/
extractor
/
twitch.py
diff --git
a/youtube_dl/extractor/twitch.py
b/youtube_dl/extractor/twitch.py
index 958bf8fff58b4264742871ba019d9f8c5be21adb..36ee1adff2288570fc39936640bacd3abafe9ed2 100644
(file)
--- a/
youtube_dl/extractor/twitch.py
+++ b/
youtube_dl/extractor/twitch.py
@@
-9,18
+9,18
@@
from .common import InfoExtractor
from ..compat import (
compat_parse_qs,
compat_str,
from ..compat import (
compat_parse_qs,
compat_str,
- compat_urllib_parse,
+ compat_urllib_parse
_urlencode
,
compat_urllib_parse_urlparse,
compat_urlparse,
)
from ..utils import (
compat_urllib_parse_urlparse,
compat_urlparse,
)
from ..utils import (
- encode_dict,
ExtractorError,
int_or_none,
orderedSet,
parse_duration,
parse_iso8601,
sanitized_Request,
ExtractorError,
int_or_none,
orderedSet,
parse_duration,
parse_iso8601,
sanitized_Request,
+ urlencode_postdata,
)
)
@@
-82,7
+82,7
@@
class TwitchBaseIE(InfoExtractor):
post_url = compat_urlparse.urljoin(redirect_url, post_url)
request = sanitized_Request(
post_url = compat_urlparse.urljoin(redirect_url, post_url)
request = sanitized_Request(
- post_url,
compat_urllib_parse.urlencode(encode_dict(login_form)).encode('utf-8'
))
+ post_url,
urlencode_postdata(login_form
))
request.add_header('Referer', redirect_url)
response = self._download_webpage(
request, None, 'Logging in as %s' % username)
request.add_header('Referer', redirect_url)
response = self._download_webpage(
request, None, 'Logging in as %s' % username)
@@
-250,7
+250,7
@@
class TwitchVodIE(TwitchItemBaseIE):
formats = self._extract_m3u8_formats(
'%s/vod/%s?%s' % (
self._USHER_BASE, item_id,
formats = self._extract_m3u8_formats(
'%s/vod/%s?%s' % (
self._USHER_BASE, item_id,
- compat_urllib_parse
.
urlencode({
+ compat_urllib_parse
_
urlencode({
'allow_source': 'true',
'allow_audio_only': 'true',
'allow_spectre': 'true',
'allow_source': 'true',
'allow_audio_only': 'true',
'allow_spectre': 'true',
@@
-299,9
+299,10
@@
class TwitchPlaylistBaseIE(TwitchBaseIE):
# is completely broken on the twitch side. It simply ignores
# a limit and returns the whole offset number of videos.
# Working around by just requesting all videos at once.
# is completely broken on the twitch side. It simply ignores
# a limit and returns the whole offset number of videos.
# Working around by just requesting all videos at once.
+ # Upd: pagination bug was fixed by twitch on 15.03.2016.
if not broken_paging_detected and total and len(page_entries) > limit:
self.report_warning(
if not broken_paging_detected and total and len(page_entries) > limit:
self.report_warning(
- 'Twitch pagin
g
is broken on twitch side, requesting all videos at once',
+ 'Twitch pagin
ation
is broken on twitch side, requesting all videos at once',
channel_id)
broken_paging_detected = True
offset = total
channel_id)
broken_paging_detected = True
offset = total
@@
-441,7
+442,7
@@
class TwitchStreamIE(TwitchBaseIE):
}
formats = self._extract_m3u8_formats(
'%s/api/channel/hls/%s.m3u8?%s'
}
formats = self._extract_m3u8_formats(
'%s/api/channel/hls/%s.m3u8?%s'
- % (self._USHER_BASE, channel_id, compat_urllib_parse
.
urlencode(query)),
+ % (self._USHER_BASE, channel_id, compat_urllib_parse
_
urlencode(query)),
channel_id, 'mp4')
self._prefer_source(formats)
channel_id, 'mp4')
self._prefer_source(formats)