diff options
| author | Sergey M․ <dstftw@gmail.com> | 2018-03-18 02:17:34 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2018-03-18 02:52:01 +0700 | 
| commit | e0d198c18d4a5f191adbfb43259c104d16e30596 (patch) | |
| tree | 87e57132f9712eb51add046df2d49613c2e46870 | |
| parent | 96b8b9abaecb7518d901dc9d6a617f19c3161236 (diff) | |
[extractor/common] Add _download_xml_handle
| -rw-r--r-- | youtube_dl/extractor/common.py | 28 | 
1 files changed, 20 insertions, 8 deletions
| diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index c1e1012e7..a50778509 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -644,19 +644,31 @@ class InfoExtractor(object):              content, _ = res              return content +    def _download_xml_handle( +            self, url_or_request, video_id, note='Downloading XML', +            errnote='Unable to download XML', transform_source=None, +            fatal=True, encoding=None, data=None, headers={}, query={}): +        """Return a tuple (xml as an xml.etree.ElementTree.Element, URL handle)""" +        res = self._download_webpage_handle( +            url_or_request, video_id, note, errnote, fatal=fatal, +            encoding=encoding, data=data, headers=headers, query=query) +        if res is False: +            return res +        xml_string, urlh = res +        return self._parse_xml( +            xml_string, video_id, transform_source=transform_source, +            fatal=fatal), urlh +      def _download_xml(self, url_or_request, video_id,                        note='Downloading XML', errnote='Unable to download XML',                        transform_source=None, fatal=True, encoding=None,                        data=None, headers={}, query={}):          """Return the xml as an xml.etree.ElementTree.Element""" -        xml_string = self._download_webpage( -            url_or_request, video_id, note, errnote, fatal=fatal, -            encoding=encoding, data=data, headers=headers, query=query) -        if xml_string is False: -            return xml_string -        return self._parse_xml( -            xml_string, video_id, transform_source=transform_source, -            fatal=fatal) +        res = self._download_xml_handle( +            url_or_request, video_id, note=note, errnote=errnote, +            transform_source=transform_source, fatal=fatal, encoding=encoding, +            data=data, headers=headers, query=query) +        return res if res is False else res[0]      def _parse_xml(self, xml_string, video_id, transform_source=None, fatal=True):          if transform_source: | 
