forked from pool/python-html5lib
Accepting request 359049 from home:TheBlackCat:branches:devel:languages:python
Add coerce_comments_to_work_with_lxml.patch OBS-URL: https://build.opensuse.org/request/show/359049 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-html5lib?expand=0&rev=20
This commit is contained in:
parent
29be0eb4b5
commit
642aa315f9
65
coerce_comments_to_work_with_lxml.patch
Normal file
65
coerce_comments_to_work_with_lxml.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From 0c551c9519e47f76f8f185089ed71cb9539b6e00 Mon Sep 17 00:00:00 2001
|
||||
From: Geoffrey Sneddon <geoffers@gmail.com>
|
||||
Date: Mon, 23 Nov 2015 15:17:07 +0000
|
||||
Subject: [PATCH] Make lxml tree-builder coerce comments to work with lxml 3.5.
|
||||
|
||||
---
|
||||
html5lib/ihatexml.py | 3 +++
|
||||
html5lib/treebuilders/etree_lxml.py | 9 +++++----
|
||||
2 files changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/html5lib/ihatexml.py b/html5lib/ihatexml.py
|
||||
index 0fc7930..5da5d93 100644
|
||||
--- a/html5lib/ihatexml.py
|
||||
+++ b/html5lib/ihatexml.py
|
||||
@@ -225,6 +225,9 @@ def coerceComment(self, data):
|
||||
while "--" in data:
|
||||
warnings.warn("Comments cannot contain adjacent dashes", DataLossWarning)
|
||||
data = data.replace("--", "- -")
|
||||
+ if data.endswith("-"):
|
||||
+ warnings.warn("Comments cannot end in a dash", DataLossWarning)
|
||||
+ data += " "
|
||||
return data
|
||||
|
||||
def coerceCharacters(self, data):
|
||||
diff --git a/html5lib/treebuilders/etree_lxml.py b/html5lib/treebuilders/etree_lxml.py
|
||||
index 35d08ef..c6c981f 100644
|
||||
--- a/html5lib/treebuilders/etree_lxml.py
|
||||
+++ b/html5lib/treebuilders/etree_lxml.py
|
||||
@@ -54,7 +54,7 @@ def _getChildNodes(self):
|
||||
def testSerializer(element):
|
||||
rv = []
|
||||
finalText = None
|
||||
- infosetFilter = ihatexml.InfosetFilter()
|
||||
+ infosetFilter = ihatexml.InfosetFilter(preventDoubleDashComments=True)
|
||||
|
||||
def serializeElement(element, indent=0):
|
||||
if not hasattr(element, "tag"):
|
||||
@@ -189,7 +189,7 @@ class TreeBuilder(_base.TreeBuilder):
|
||||
|
||||
def __init__(self, namespaceHTMLElements, fullTree=False):
|
||||
builder = etree_builders.getETreeModule(etree, fullTree=fullTree)
|
||||
- infosetFilter = self.infosetFilter = ihatexml.InfosetFilter()
|
||||
+ infosetFilter = self.infosetFilter = ihatexml.InfosetFilter(preventDoubleDashComments=True)
|
||||
self.namespaceHTMLElements = namespaceHTMLElements
|
||||
|
||||
class Attributes(dict):
|
||||
@@ -257,7 +257,7 @@ def _getData(self):
|
||||
data = property(_getData, _setData)
|
||||
|
||||
self.elementClass = Element
|
||||
- self.commentClass = builder.Comment
|
||||
+ self.commentClass = Comment
|
||||
# self.fragmentClass = builder.DocumentFragment
|
||||
_base.TreeBuilder.__init__(self, namespaceHTMLElements)
|
||||
|
||||
@@ -344,7 +344,8 @@ def insertRoot(self, token):
|
||||
|
||||
# Append the initial comments:
|
||||
for comment_token in self.initial_comments:
|
||||
- root.addprevious(etree.Comment(comment_token["data"]))
|
||||
+ comment = self.commentClass(comment_token["data"])
|
||||
+ root.addprevious(comment._element)
|
||||
|
||||
# Create the root document and add the ElementTree to it
|
||||
self.document = self.documentClass()
|
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 12 14:54:04 UTC 2016 - toddrme2178@gmail.com
|
||||
|
||||
- Add coerce_comments_to_work_with_lxml.patch
|
||||
Fixes compatibility with python-lxml 3.5+, which adds validation
|
||||
for xml comments.
|
||||
Should be in next release/
|
||||
- Re-enable tests.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 2 11:46:24 UTC 2016 - toddrme2178@gmail.com
|
||||
|
||||
|
@ -24,6 +24,8 @@ License: MIT
|
||||
Group: Development/Languages/Python
|
||||
Url: https://github.com/html5lib/html5lib-python
|
||||
Source: http://pypi.python.org/packages/source/h/html5lib/html5lib-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM coerce_comments_to_work_with_lxml.patch - fix comments for new lxml comment validation - https://github.com/html5lib/html5lib-python/issues/224
|
||||
Patch0: coerce_comments_to_work_with_lxml.patch
|
||||
BuildRequires: python-Genshi >= 0.7
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: python-lxml
|
||||
@ -56,6 +58,7 @@ simple custom format
|
||||
|
||||
%prep
|
||||
%setup -q -n html5lib-%{version}
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
python setup.py build
|
||||
@ -63,11 +66,11 @@ python setup.py build
|
||||
%install
|
||||
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
|
||||
|
||||
# %if 0%{?suse_version} && 0%{?suse_version} > 1110
|
||||
# %check
|
||||
# export LANG=en_US.UTF-8
|
||||
# py.test
|
||||
# %endif
|
||||
%if 0%{?suse_version} && 0%{?suse_version} > 1110
|
||||
%check
|
||||
export LANG=en_US.UTF-8
|
||||
py.test
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
|
Loading…
Reference in New Issue
Block a user