diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2014-02-21 16:59:10 +0100 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2014-02-21 16:59:10 +0100 | 
| commit | f7300c5c90a99d234a2c7a6d70f5b5baa9d35046 (patch) | |
| tree | 64220815f5e1399a23b7b0a312a0395adcc64263 | |
| parent | 3489b7d26c727dac604cf9ece562139372da9bb7 (diff) | |
[generic] Fix on python 2.6
`ParseError` is not available, it raises `xml.parsers.expat.ExpatError`.
The webpage needs to be encoded.
| -rw-r--r-- | youtube_dl/extractor/generic.py | 5 | ||||
| -rw-r--r-- | youtube_dl/utils.py | 5 | 
2 files changed, 8 insertions, 2 deletions
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 30160d59d..9a2e54d14 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -13,6 +13,7 @@ from ..utils import (      compat_urllib_parse,      compat_urllib_request,      compat_urlparse, +    compat_xml_parse_error,      ExtractorError,      HEADRequest, @@ -241,10 +242,10 @@ class GenericIE(InfoExtractor):          # Is it an RSS feed?          try: -            doc = xml.etree.ElementTree.fromstring(webpage) +            doc = xml.etree.ElementTree.fromstring(webpage.encode('utf-8'))              if doc.tag == 'rss':                  return self._extract_rss(url, video_id, doc) -        except xml.etree.ElementTree.ParseError: +        except compat_xml_parse_error:              pass          # it's tempting to parse this further, but you would diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 057cd20d1..471516b8f 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -174,6 +174,11 @@ try:  except NameError:      compat_chr = chr +try: +    from xml.etree.ElementTree import ParseError as compat_xml_parse_error +except ImportError:  # Python 2.6 +    from xml.parsers.expat import ExpatError as compat_xml_parse_error +  def compat_ord(c):      if type(c) is int: return c      else: return ord(c)  | 
