diff options
Diffstat (limited to 'youtube_dl/extractor/common.py')
| -rw-r--r-- | youtube_dl/extractor/common.py | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 2a5e8076c..0ec365eaa 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -1,4 +1,5 @@  import base64 +import json  import os  import re  import socket @@ -260,6 +261,15 @@ class InfoExtractor(object):              xml_string = transform_source(xml_string)          return xml.etree.ElementTree.fromstring(xml_string.encode('utf-8')) +    def _download_json(self, url_or_request, video_id, +                       note=u'Downloading JSON metadata', +                       errnote=u'Unable to download JSON metadata'): +        json_string = self._download_webpage(url_or_request, video_id, note, errnote) +        try: +            return json.loads(json_string) +        except ValueError as ve: +            raise ExtractorError('Failed to download JSON', cause=ve) +      def report_warning(self, msg, video_id=None):          idstr = u'' if video_id is None else u'%s: ' % video_id          self._downloader.report_warning( | 
