From 14d1c8d4ff4bbf5b942d553fa8638decef9f41c9 Mon Sep 17 00:00:00 2001 From: Carl Suster Date: Mon, 9 Jan 2017 11:57:13 +1100 Subject: set message_id properly in expat parser Upstream had a typo in the expat parser wrapper which called the non-existent message_id() when set_message_id() was intended. Forwarded: https://github.com/ericflo/pynzb/pull/4 --- pynzb/expat_nzb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pynzb/expat_nzb.py b/pynzb/expat_nzb.py index 5c1b096..313dee6 100644 --- a/pynzb/expat_nzb.py +++ b/pynzb/expat_nzb.py @@ -22,7 +22,7 @@ class ExpatNZBParser(BaseNZBParser): elif name == 'group': self.current_file.add_group(self.current_data) elif name == 'segment': - self.current_segment.message_id(self.current_data) + self.current_segment.set_message_id(self.current_data) self.current_file.add_segment(self.current_segment) def char_data(self, data): -- cgit v1.2.3 From db99bb2f8b4bc56c6ba91d5dab84ec042bb777ec Mon Sep 17 00:00:00 2001 From: Carl Suster Date: Wed, 11 Jan 2017 22:23:32 +1100 Subject: enable use_2to3 in setup.py Forwarded: https://github.com/ericflo/pynzb/pull/5 --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 0fd9d51..62f1ff3 100644 --- a/setup.py +++ b/setup.py @@ -168,4 +168,5 @@ setup( include_package_data=True, zip_safe=False, install_requires=['setuptools'], -) \ No newline at end of file + use_2to3=True, +) -- cgit v1.2.3 From bb4f526aa0b6664b45d38c64b546e783407034b6 Mon Sep 17 00:00:00 2001 From: Carl Suster Date: Wed, 11 Jan 2017 22:34:34 +1100 Subject: give lxml etree BytesIO in Python 3 The lxml etree API changed in Python 3 to take BytesIO instead of StringIO. This patch maintains the original behaviour in Python 2 but switches to BytesIO in Python 3, decoding the XML data as UTF-8. Forwarded: https://github.com/ericflo/pynzb/pull/6 --- pynzb/lxml_nzb.py | 16 +++++++++++----- 1 file 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"))) -- cgit v1.2.3