uppercase_escape,
url_basename,
urlencode_postdata,
- url_infer_protocol,
version_tuple,
xpath_with_ns,
xpath_text,
url_basename('http://media.w3.org/2010/05/sintel/trailer.mp4'),
'trailer.mp4')
- def test_url_infer_protocol(self):
- self.assertEqual(url_infer_protocol('http://foo.com/', '//bar.com/'), 'http://bar.com/')
- self.assertEqual(url_infer_protocol('http://foo.com/', 'https://bar.com/'), 'https://bar.com/')
-
def test_parse_duration(self):
self.assertEqual(parse_duration(None), None)
self.assertEqual(parse_duration(False), None)
unsmuggle_url,
UnsupportedError,
url_basename,
- url_infer_protocol,
xpath_text,
)
from .brightcove import BrightcoveIE
r'<iframe[^>]+src="(?P<url>%s)"' % UDNEmbedIE._VALID_URL, webpage)
if mobj is not None:
return self.url_result(
- url_infer_protocol(url, mobj.group('url')), 'UDNEmbed')
+ compat_urlparse.urljoin(url, mobj.group('url')), 'UDNEmbed')
def check_video(vurl):
if YoutubeIE.suitable(vurl):
import json
from .common import InfoExtractor
-from ..utils import (
- url_infer_protocol,
- js_to_json
-)
+from ..utils import js_to_json
+from ..compat import compat_urlparse
class UDNEmbedIE(InfoExtractor):
formats = [{
'url': self._download_webpage(
- url_infer_protocol(url, api_url), video_id,
+ compat_urlparse.urljoin(url, api_url), video_id,
'retrieve url for %s video' % video_type),
'format_id': video_type,
'preference': 0 if video_type == 'mp4' else -1,
return compat_urllib_parse_urlparse(url).scheme
-def url_infer_protocol(ref_url, target_url):
- """ Infer protocol for protocol independent target urls """
- parsed_target_url = list(compat_urllib_parse_urlparse(target_url))
- if parsed_target_url[0]:
- return target_url
-
- parsed_target_url[0] = compat_urllib_parse_urlparse(ref_url).scheme
-
- return compat_urlparse.urlunparse(parsed_target_url)
-
-
def render_table(header_row, data):
""" Render a list of rows, each as a list of values """
table = [header_row] + data