]> jfr.im git - yt-dlp.git/blobdiff - yt_dlp/extractor/ccma.py
[cleanup] Misc
[yt-dlp.git] / yt_dlp / extractor / ccma.py
index e6ae49352132f81b1afbced0d71fe35c668c29f0..88ff82f6e6b2735b9d966a0c5b3ba8f89074fa67 100644 (file)
@@ -1,18 +1,11 @@
-# coding: utf-8
-from __future__ import unicode_literals
-
-import calendar
-import datetime
-import re
-
 from .common import InfoExtractor
 from ..utils import (
     clean_html,
-    extract_timezone,
     int_or_none,
     parse_duration,
     parse_resolution,
     try_get,
+    unified_timestamp,
     url_or_none,
 )
 
@@ -61,7 +54,7 @@ class CCMAIE(InfoExtractor):
     }]
 
     def _real_extract(self, url):
-        media_type, media_id = re.match(self._VALID_URL, url).groups()
+        media_type, media_id = self._match_valid_url(url).groups()
 
         media = self._download_json(
             'http://dinamics.ccma.cat/pvideo/media.jsp', media_id, query={
@@ -88,7 +81,6 @@ def _real_extract(self, url):
                 'url': media_url,
                 'vcodec': 'none' if media_type == 'audio' else None,
             })
-        self._sort_formats(formats)
 
         informacio = media['informacio']
         title = informacio['titol']
@@ -96,14 +88,8 @@ def _real_extract(self, url):
         duration = int_or_none(durada.get('milisegons'), 1000) or parse_duration(durada.get('text'))
         tematica = try_get(informacio, lambda x: x['tematica']['text'])
 
-        timestamp = None
         data_utc = try_get(informacio, lambda x: x['data_emissio']['utc'])
-        try:
-            timezone, data_utc = extract_timezone(data_utc)
-            timestamp = calendar.timegm((datetime.datetime.strptime(
-                data_utc, '%Y-%d-%mT%H:%M:%S') - timezone).timetuple())
-        except TypeError:
-            pass
+        timestamp = unified_timestamp(data_utc)
 
         subtitles = {}
         subtitols = media.get('subtitols') or []