From c7deaa4c745382634ac5a910cc68efa4211f7456 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Tue, 24 Dec 2013 23:32:04 +0100 Subject: [zdf] Use centralized sorting --- youtube_dl/extractor/common.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'youtube_dl/extractor/common.py') diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 0a90382de..05f0cb6d5 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -9,6 +9,7 @@ import xml.etree.ElementTree from ..utils import ( compat_http_client, compat_urllib_error, + compat_urllib_parse_urlparse, compat_str, clean_html, @@ -62,6 +63,9 @@ class InfoExtractor(object): * vcodec Name of the video codec in use * filesize The number of bytes, if known in advance * player_url SWF Player URL (used for rtmpdump). + * protocol The protocol that will be used for the actual + download, lower-case. + "http", "https", "rtsp", "rtmp" or so. * preference Order number of this format. If this field is present, the formats get sorted by this field. -1 for default (order by other properties), @@ -445,7 +449,11 @@ class InfoExtractor(object): preference = f.get('preference') if preference is None: - preference = 0 if f.get('url', '').startswith('http') else -0.1 + proto = f.get('protocol') + if proto is None: + proto = compat_urllib_parse_urlparse(f.get('url', '')).scheme + + preference = 0 if proto in ['http', 'https'] else -0.1 if f.get('ext') in ['f4f', 'f4m']: # Not yet supported preference -= 0.5 -- cgit v1.2.3