projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'upstream/master' into bliptv
[youtube-dl]
/
youtube_dl
/
downloader
/
f4m.py
diff --git
a/youtube_dl/downloader/f4m.py
b/youtube_dl/downloader/f4m.py
index b8db6bf9b221d2eb83c521a73a8c031ba12491db..6170cc1552194104ea1f029ec9b54c2b051e7a9c 100644
(file)
--- a/
youtube_dl/downloader/f4m.py
+++ b/
youtube_dl/downloader/f4m.py
@@
-5,10
+5,10
@@
import io
import itertools
import os
import time
import itertools
import os
import time
-import xml.etree.ElementTree as etree
from .fragment import FragmentFD
from ..compat import (
from .fragment import FragmentFD
from ..compat import (
+ compat_etree_fromstring,
compat_urlparse,
compat_urllib_error,
compat_urllib_parse_urlparse,
compat_urlparse,
compat_urllib_error,
compat_urllib_parse_urlparse,
@@
-290,7
+290,7
@@
class F4mFD(FragmentFD):
man_url = urlh.geturl()
manifest = urlh.read()
man_url = urlh.geturl()
manifest = urlh.read()
- doc =
etree.
fromstring(manifest)
+ doc =
compat_etree_
fromstring(manifest)
formats = [(int(f.attrib.get('bitrate', -1)), f)
for f in self._get_unencrypted_media(doc)]
if requested_bitrate is None:
formats = [(int(f.attrib.get('bitrate', -1)), f)
for f in self._get_unencrypted_media(doc)]
if requested_bitrate is None:
@@
-340,11
+340,14
@@
class F4mFD(FragmentFD):
while fragments_list:
seg_i, frag_i = fragments_list.pop(0)
name = 'Seg%d-Frag%d' % (seg_i, frag_i)
while fragments_list:
seg_i, frag_i = fragments_list.pop(0)
name = 'Seg%d-Frag%d' % (seg_i, frag_i)
- url_parsed = base_url_parsed._replace(path=base_url_parsed.path + name)
+ query = []
+ if base_url_parsed.query:
+ query.append(base_url_parsed.query)
if akamai_pv:
if akamai_pv:
-
url_parsed = url_parsed._replace(query=url_parsed.query +
akamai_pv.strip(';'))
+
query.append(
akamai_pv.strip(';'))
if info_dict.get('extra_param_to_segment_url'):
if info_dict.get('extra_param_to_segment_url'):
- url_parsed = url_parsed._replace(query=url_parsed.query + info_dict.get('extra_param_to_segment_url'))
+ query.append(info_dict['extra_param_to_segment_url'])
+ url_parsed = base_url_parsed._replace(path=base_url_parsed.path + name, query='&'.join(query))
frag_filename = '%s-%s' % (ctx['tmpfilename'], name)
try:
success = ctx['dl'].download(frag_filename, {'url': url_parsed.geturl()})
frag_filename = '%s-%s' % (ctx['tmpfilename'], name)
try:
success = ctx['dl'].download(frag_filename, {'url': url_parsed.geturl()})