aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-12-24 12:40:23 +0100
committerPhilipp Hagemeister <phihag@phihag.de>2013-12-24 12:40:23 +0100
commite6812ac99dfc9117f3dd78425bf4bbe01601ecfd (patch)
tree9be1adb517b9c7287338eddf0ef02dceba16475d
parent719d3927d7072a180682df4dee6fc10fc2170800 (diff)
[spiegel] Use centralized sorting
-rw-r--r--youtube_dl/extractor/common.py5
-rw-r--r--youtube_dl/extractor/spiegel.py3
2 files changed, 7 insertions, 1 deletions
diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py
index 280693d1d..0a90382de 100644
--- a/youtube_dl/extractor/common.py
+++ b/youtube_dl/extractor/common.py
@@ -438,6 +438,11 @@ class InfoExtractor(object):
def _sort_formats(self, formats):
def _formats_key(f):
+ # TODO remove the following workaround
+ from ..utils import determine_ext
+ if not f.get('ext') and 'url' in f:
+ f['ext'] = determine_ext(f['url'])
+
preference = f.get('preference')
if preference is None:
preference = 0 if f.get('url', '').startswith('http') else -0.1
diff --git a/youtube_dl/extractor/spiegel.py b/youtube_dl/extractor/spiegel.py
index 695520524..051a34d5b 100644
--- a/youtube_dl/extractor/spiegel.py
+++ b/youtube_dl/extractor/spiegel.py
@@ -51,9 +51,10 @@ class SpiegelIE(InfoExtractor):
# Blacklist type 6, it's extremely LQ and not available on the same server
if n.tag.startswith('type') and n.tag != 'type6'
]
- formats.sort(key=lambda f: f['vbr'])
duration = float(idoc[0].findall('./duration')[0].text)
+ self._sort_formats(formats)
+
info = {
'id': video_id,
'title': video_title,