[vyborymos] Improve station info extraction
authorSergey M․ <dstftw@gmail.com>
Sun, 18 Sep 2016 10:28:41 +0000 (17:28 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 18 Sep 2016 10:30:55 +0000 (17:30 +0700)
youtube_dl/extractor/vyborymos.py

index 884aecb71ddd2549b67e45f852806906ee129fc9..9e703c4b6717cc3a3056a4d32ad687d4515ac2c7 100644 (file)
@@ -2,6 +2,7 @@
 from __future__ import unicode_literals
 
 from .common import InfoExtractor
+from ..compat import compat_str
 
 
 class VyboryMosIE(InfoExtractor):
@@ -28,7 +29,7 @@ class VyboryMosIE(InfoExtractor):
 
         channels = self._download_json(
             'http://vybory.mos.ru/account/channels?station_id=%s' % station_id,
-            station_id)
+            station_id, 'Downloading channels JSON')
 
         formats = []
         for cam_num, (sid, hosts, name, _) in enumerate(channels, 1):
@@ -41,14 +42,13 @@ class VyboryMosIE(InfoExtractor):
                 })
 
         info = self._download_json(
-            'http://vybory.mos.ru/json/voting_stations/136/%s.json' % station_id,
-            station_id, 'Downloading station info')
-
-        title = info['name']
+            'http://vybory.mos.ru/json/voting_stations/%s/%s.json'
+            % (compat_str(station_id)[:3], station_id),
+            station_id, 'Downloading station JSON', fatal=False)
 
         return {
             'id': station_id,
-            'title': self._live_title(title),
+            'title': self._live_title(info['name'] if info else station_id),
             'description': info.get('address'),
             'is_live': True,
             'formats': formats,