]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/nrk.py
[extractor] Deprecate `_sort_formats`
[yt-dlp.git] / yt_dlp / extractor / nrk.py
index 4d723e886888bb8a0fdd9c36ab6b8db97a0b2090..88d08e5e3a9edc9cedf41369810c2b79dc928d16 100644 (file)
@@ -1,22 +1,19 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
 import itertools
 import random
 import re
 
 from .common import InfoExtractor
-from ..compat import compat_str
+from ..compat import compat_HTTPError, compat_str
 from ..utils import (
-    compat_HTTPError,
-    determine_ext,
     ExtractorError,
+    determine_ext,
     int_or_none,
     parse_duration,
+    parse_iso8601,
     str_or_none,
     try_get,
-    urljoin,
     url_or_none,
+    urljoin,
 )
 
 
@@ -61,8 +58,7 @@ def _call_api(self, path, video_id, item=None, note=None, fatal=True, query=None
         return self._download_json(
             urljoin('https://psapi.nrk.no/', path),
             video_id, note or 'Downloading %s JSON' % item,
-            fatal=fatal, query=query,
-            headers={'Accept-Encoding': 'gzip, deflate, br'})
+            fatal=fatal, query=query)
 
 
 class NRKIE(NRKBaseIE):
@@ -184,7 +180,6 @@ def call_playback_api(item, query=None):
                     'format_id': asset_format,
                     'vcodec': 'none',
                 })
-        self._sort_formats(formats)
 
         data = call_playback_api('metadata')
 
@@ -247,6 +242,7 @@ def call_playback_api(item, query=None):
             'age_limit': age_limit,
             'formats': formats,
             'subtitles': subtitles,
+            'timestamp': parse_iso8601(try_get(manifest, lambda x: x['availability']['onDemand']['from'], str))
         }
 
         if is_series:
@@ -738,7 +734,7 @@ def _real_extract(self, url):
             entries, series_id, titles.get('title'), titles.get('subtitle'))
 
 
-class NRKTVDirekteIE(NRKTVIE):
+class NRKTVDirekteIE(NRKTVIE):  # XXX: Do not subclass from concrete IE
     IE_DESC = 'NRK TV Direkte and NRK Radio Direkte'
     _VALID_URL = r'https?://(?:tv|radio)\.nrk\.no/direkte/(?P<id>[^/?#&]+)'
 
@@ -797,7 +793,7 @@ def _real_extract(self, url):
             for video_id in re.findall(self._ITEM_RE, webpage)
         ]
 
-        playlist_title = self. _extract_title(webpage)
+        playlist_title = self._extract_title(webpage)
         playlist_description = self._extract_description(webpage)
 
         return self.playlist_result(