From ff9e73445177ed3c5f9f56f68d97768da2f2cc1836e3076af6311e9905e61f7b Mon Sep 17 00:00:00 2001 From: Thomas Bechtold Date: Mon, 31 Jul 2017 06:02:44 +0000 Subject: [PATCH] Accepting request 512948 from home:ecsos update to 3.8.0 Need for calibre 3.5 OBS-URL: https://build.opensuse.org/request/show/512948 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-lxml?expand=0&rev=96 --- lxml-3.7.3.tar.gz | 3 - lxml-3.8.0.tar.gz | 3 + lxml-fix-attribute-quoting.patch | 95 -------------------------------- lxmldoc-3.7.3.pdf | 3 - lxmldoc-3.8.0.pdf | 3 + python-lxml.changes | 38 +++++++++++++ python-lxml.spec | 8 +-- 7 files changed, 46 insertions(+), 107 deletions(-) delete mode 100644 lxml-3.7.3.tar.gz create mode 100644 lxml-3.8.0.tar.gz delete mode 100644 lxml-fix-attribute-quoting.patch delete mode 100644 lxmldoc-3.7.3.pdf create mode 100644 lxmldoc-3.8.0.pdf diff --git a/lxml-3.7.3.tar.gz b/lxml-3.7.3.tar.gz deleted file mode 100644 index 66d0ad6..0000000 --- a/lxml-3.7.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aa502d78a51ee7d127b4824ff96500f0181d3c7826e6ee7b800d068be79361c7 -size 3797713 diff --git a/lxml-3.8.0.tar.gz b/lxml-3.8.0.tar.gz new file mode 100644 index 0000000..49b2ae7 --- /dev/null +++ b/lxml-3.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:736f72be15caad8116891eb6aa4a078b590d231fdc63818c40c21624ac71db96 +size 3795205 diff --git a/lxml-fix-attribute-quoting.patch b/lxml-fix-attribute-quoting.patch deleted file mode 100644 index fd3e039..0000000 --- a/lxml-fix-attribute-quoting.patch +++ /dev/null @@ -1,95 +0,0 @@ -Index: lxml-3.7.3/src/lxml/tests/test_incremental_xmlfile.py -=================================================================== ---- lxml-3.7.3.orig/src/lxml/tests/test_incremental_xmlfile.py -+++ lxml-3.7.3/src/lxml/tests/test_incremental_xmlfile.py -@@ -430,7 +430,7 @@ class HtmlFileTestCase(_XmlFileTestCaseB - with xf.element("tagname", attrib={"attr": _str('"misquöted\\u3344\\U00013344"')}): - xf.write("foo") - -- self.assertXml('foo') -+ self.assertXml('foo') - - def test_unescaped_script(self): - with etree.htmlfile(self._file) as xf: -Index: lxml-3.7.3/src/lxml/serializer.pxi -=================================================================== ---- lxml-3.7.3.orig/src/lxml/serializer.pxi -+++ lxml-3.7.3/src/lxml/serializer.pxi -@@ -481,6 +481,7 @@ cdef unsigned char *xmlSerializeHexCharR - cdef _write_attr_string(tree.xmlOutputBuffer* buf, const char *string): - cdef const char *base - cdef const char *cur -+ cdef const unsigned char *ucur - - cdef unsigned char tmp[12] - cdef int val = 0 -@@ -546,42 +547,44 @@ cdef _write_attr_string(tree.xmlOutputBu - cur += 1 - base = cur - -- elif (cur[0] >= 0x80) and (cur[1] != 0): -+ elif (cur[0] >= 0x80) and (cur[1] != 0): - - if (base != cur): - tree.xmlOutputBufferWrite(buf, cur - base, base) - -- if (cur[0] < 0xC0): -+ ucur = cur -+ -+ if (ucur[0] < 0xC0): - # invalid UTF-8 sequence -- val = cur[0] -+ val = ucur[0] - l = 1 - -- elif (cur[0] < 0xE0): -- val = (cur[0]) & 0x1F -+ elif (ucur[0] < 0xE0): -+ val = (ucur[0]) & 0x1F - val <<= 6 -- val |= (cur[1]) & 0x3F -+ val |= (ucur[1]) & 0x3F - l = 2 - -- elif ((cur[0] < 0xF0) and (cur[2] != 0)): -- val = (cur[0]) & 0x0F -+ elif ((ucur[0] < 0xF0) and (ucur[2] != 0)): -+ val = (ucur[0]) & 0x0F - val <<= 6 -- val |= (cur[1]) & 0x3F -+ val |= (ucur[1]) & 0x3F - val <<= 6 -- val |= (cur[2]) & 0x3F -+ val |= (ucur[2]) & 0x3F - l = 3 - -- elif ((cur[0] < 0xF8) and (cur[2] != 0) and (cur[3] != 0)): -- val = (cur[0]) & 0x07 -+ elif ((ucur[0] < 0xF8) and (ucur[2] != 0) and (ucur[3] != 0)): -+ val = (ucur[0]) & 0x07 - val <<= 6 -- val |= (cur[1]) & 0x3F -+ val |= (ucur[1]) & 0x3F - val <<= 6 -- val |= (cur[2]) & 0x3F -+ val |= (ucur[2]) & 0x3F - val <<= 6 -- val |= (cur[3]) & 0x3F -+ val |= (ucur[3]) & 0x3F - l = 4 - else: - # invalid UTF-8 sequence -- val = cur[0] -+ val = ucur[0] - l = 1 - - if ((l == 1) or (not tree.xmlIsCharQ(val))): -@@ -590,7 +593,7 @@ cdef _write_attr_string(tree.xmlOutputBu - # We could do multiple things here. Just save - # as a char ref - xmlSerializeHexCharRef(tmp, val) -- tree.xmlOutputBufferWrite(buf, -1, tmp) -+ tree.xmlOutputBufferWrite(buf, len(tmp), tmp) - cur += l - base = cur - diff --git a/lxmldoc-3.7.3.pdf b/lxmldoc-3.7.3.pdf deleted file mode 100644 index 35f458b..0000000 --- a/lxmldoc-3.7.3.pdf +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c195a0dc8f417a0c716ab16b82f30f66ea75206821c0f8a19fc1cdd56cf1e9d1 -size 1127335 diff --git a/lxmldoc-3.8.0.pdf b/lxmldoc-3.8.0.pdf new file mode 100644 index 0000000..7ed3505 --- /dev/null +++ b/lxmldoc-3.8.0.pdf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e342fa61e8f1467d81e3166800935e75f021edb322397d997682c3c16e222252 +size 1131272 diff --git a/python-lxml.changes b/python-lxml.changes index 548b5ba..5c38138 100644 --- a/python-lxml.changes +++ b/python-lxml.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Fri Jul 28 17:24:27 UTC 2017 - ecsos@opensuse.org + +- update to 3.8.0 + Features added + - ElementTree.write() has a new option doctype that writes out + a doctype string before the serialisation, in the same way as + tostring(). + - GH#220: xmlfile allows switching output methods at an element + level. Patch by Burak Arslan. + - LP#1595781, GH#240: added a PyCapsule Python API and C-level + API for passing externally generated libxml2 documents into + lxml. + - GH#244: error log entries have a new property path with an + XPath expression (if known, None otherwise) that points to the + tree element responsible for the error. Patch by Bob Kline. + - The namespace prefix mapping that can be used in ElementPath + now injects a default namespace when passing a None prefix. + Bugs fixed + - GH#238: Character escapes were not hex-encoded in the xmlfile + serialiser. Patch by matejcik. + - GH#229: fix for externally created XML documents. + Patch by Theodore Dubois. + - LP#1665241, GH#228: Form data handling in lxml.html no longer + strips the option values specified in form attributes but only + the text values. Patch by Ashish Kulkarni. + - LP#1551797: revert previous fix for XSLT error logging as it + breaks multi-threaded XSLT processing. + - LP#1673355, GH#233: fromstring() html5parser failed to parse + byte strings. + Other changes + - The previously undocumented docstring option in + ElementTree.write() produces a deprecation warning and will + eventually be removed. +- enable source url for pdf doc +- remove patch lxml-fix-attribute-quoting.patch because it is now + in upstream + ------------------------------------------------------------------- Tue Apr 11 16:29:04 UTC 2017 - jmatejek@suse.com diff --git a/python-lxml.spec b/python-lxml.spec index ef33215..2482a87 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -18,17 +18,14 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-lxml -Version: 3.7.3 +Version: 3.8.0 Release: 0 Summary: Powerful and Pythonic XML processing library License: BSD-3-Clause and GPL-2.0+ Group: Development/Languages/Python Url: https://lxml.de/ Source: https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz -#Source1: https://lxml.de/lxmldoc-%{version}.pdf -Source1: lxmldoc-%{version}.pdf -# PATCH-FIX-UPSTREAM fix attribute quoting inactive code https://github.com/lxml/lxml/pull/238 -Patch0: lxml-fix-attribute-quoting.patch +Source1: http://lxml.de/lxmldoc-%{version}.pdf BuildRequires: %{python_module Cython >= 0.22.1} BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools >= 18.0.1} @@ -77,7 +74,6 @@ This package contains header files needed to use lxml's C API. %prep %setup -q -n lxml-%{version} cp %{SOURCE1} . -%patch0 -p1 # remove generated files rm src/lxml/lxml.etree.c