diff options
Diffstat (limited to 'pynzb')
-rw-r--r-- | pynzb/lxml_nzb.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/pynzb/lxml_nzb.py b/pynzb/lxml_nzb.py index 790671d..e74ba34 100644 --- a/pynzb/lxml_nzb.py +++ b/pynzb/lxml_nzb.py @@ -6,11 +6,17 @@ except ImportError: raise ImportError("You must have lxml installed before you can use the " + "lxml NZB parser.") -try: - from cStringIO import StringIO -except ImportError: - from StringIO import StringIO +import sys +if sys.version_info.major < 3: + try: + from cStringIO import StringIO + except ImportError: + from StringIO import StringIO + def as_io(xml): return StringIO(xml) +else: + from io import BytesIO + def as_io(xml): return BytesIO(bytes(xml, 'utf-8')) class LXMLNZBParser(BaseETreeNZBParser): def get_etree_iter(self, xml, et=etree): - return iter(et.iterparse(StringIO(xml), events=("start", "end")))
\ No newline at end of file + return iter(et.iterparse(as_io(xml), events=("start", "end"))) |