[arch-commits] Commit in python-html5lib/repos/community-any (3 files)
Felix Yan
felixonmars at archlinux.org
Wed Nov 20 05:41:23 UTC 2019
Date: Wednesday, November 20, 2019 @ 05:41:22
Author: felixonmars
Revision: 530627
archrelease: copy trunk to community-any
Added:
python-html5lib/repos/community-any/PKGBUILD
(from rev 530626, python-html5lib/trunk/PKGBUILD)
python-html5lib/repos/community-any/pytest4.patch
(from rev 530626, python-html5lib/trunk/pytest4.patch)
Deleted:
python-html5lib/repos/community-any/PKGBUILD
---------------+
PKGBUILD | 132 +++++++++++++-------------
pytest4.patch | 279 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 347 insertions(+), 64 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2019-11-20 05:41:06 UTC (rev 530626)
+++ PKGBUILD 2019-11-20 05:41:22 UTC (rev 530627)
@@ -1,64 +0,0 @@
-# Maintainer: Eli Schwartz <eschwartz at archlinux.org>
-# Maintainer: Jelle van der Waa <jelle at archlinux.org>
-# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
-# Contributor: Erol V. Aktay <e.aktay at gmail.com>
-
-pkgbase=python-html5lib
-pkgname=('python2-html5lib' 'python-html5lib')
-pkgver=1.0.1
-pkgrel=6
-arch=('any')
-url="https://github.com/html5lib"
-license=('MIT')
-_deps=('six' 'webencodings')
-makedepends=('python-setuptools' 'python2-setuptools' "${_deps[@]/#/python-}" "${_deps[@]/#/python2-}")
-_checkdeps=('pytest32' 'pytest-expect' 'lxml' 'mock')
-checkdepends=("${_checkdeps[@]/#/python-}" "${_checkdeps[@]/#/python2-}")
-_test_commit=c305da74fae50fb018870de7a042da36c1a93b65
-source=("$pkgbase-$pkgver.tar.gz::https://github.com/html5lib/html5lib-python/archive/${pkgver}.tar.gz"
- "https://github.com/html5lib/html5lib-tests/archive/${_test_commit}.tar.gz")
-sha256sums=('fabbebd6a55d07842087f13849076eeed350aa8bb6c9ec840f6a6aba9388db06'
- 'cb261423c644b3469ac66926e290060b481371d0952995d270492fc761d0209a')
-
-prepare() {
- cd "${srcdir}"/html5lib-python-${pkgver}
-
- rmdir html5lib/tests/testdata
- ln -sfT ../../../html5lib-tests-${_test_commit} html5lib/tests/testdata
-}
-
-build() {
- cd "${srcdir}"/html5lib-python-${pkgver}
-
- python setup.py build
- python2 setup.py build
-}
-
-check() {
- cd "${srcdir}"/html5lib-python-${pkgver}
-
- py.test
- py.test2
-}
-
-package_python-html5lib() {
- pkgdesc="A Python HTML parser/tokenizer based on the WHATWG HTML5 spec"
- depends=("${_deps[@]/#/python-}")
- optdepends=('python-lxml: lxml treebuilder'
- 'python-genshi: genshi treewalker')
- cd "${srcdir}"/html5lib-python-${pkgver}
-
- python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
- install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-}
-
-package_python2-html5lib() {
- pkgdesc="A Python2 HTML parser/tokenizer based on the WHATWG HTML5 spec"
- depends=("${_deps[@]/#/python2-}")
- optdepends=('python2-lxml: lxml treebuilder'
- 'python2-genshi: genshi treewalker')
- cd "${srcdir}"/html5lib-python-${pkgver}
-
- python2 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
- install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
-}
Copied: python-html5lib/repos/community-any/PKGBUILD (from rev 530626, python-html5lib/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2019-11-20 05:41:22 UTC (rev 530627)
@@ -0,0 +1,68 @@
+# Maintainer: Eli Schwartz <eschwartz at archlinux.org>
+# Maintainer: Jelle van der Waa <jelle at archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+# Contributor: Erol V. Aktay <e.aktay at gmail.com>
+
+pkgbase=python-html5lib
+pkgname=('python2-html5lib' 'python-html5lib')
+pkgver=1.0.1
+pkgrel=7
+arch=('any')
+url="https://github.com/html5lib"
+license=('MIT')
+_deps=('six' 'webencodings')
+makedepends=('python-setuptools' 'python2-setuptools' "${_deps[@]/#/python-}" "${_deps[@]/#/python2-}")
+_checkdeps=('pytest' 'pytest-expect' 'lxml' 'mock')
+checkdepends=("${_checkdeps[@]/#/python-}" "${_checkdeps[@]/#/python2-}")
+_test_commit=c305da74fae50fb018870de7a042da36c1a93b65
+source=("$pkgbase-$pkgver.tar.gz::https://github.com/html5lib/html5lib-python/archive/${pkgver}.tar.gz"
+ "https://github.com/html5lib/html5lib-tests/archive/${_test_commit}.tar.gz"
+ pytest4.patch)
+sha256sums=('fabbebd6a55d07842087f13849076eeed350aa8bb6c9ec840f6a6aba9388db06'
+ 'cb261423c644b3469ac66926e290060b481371d0952995d270492fc761d0209a'
+ '6b627d2490d0cd16a801ec2787b8ce643f66d8ddf780fee9ff5268c8126d4f8c')
+
+prepare() {
+ cd "${srcdir}"/html5lib-python-${pkgver}
+ # From https://github.com/html5lib/html5lib-python/pull/429
+ patch -p1 -i ../pytest4.patch
+
+ rmdir html5lib/tests/testdata
+ ln -sfT ../../../html5lib-tests-${_test_commit} html5lib/tests/testdata
+}
+
+build() {
+ cd "${srcdir}"/html5lib-python-${pkgver}
+
+ python setup.py build
+ python2 setup.py build
+}
+
+check() {
+ cd "${srcdir}"/html5lib-python-${pkgver}
+
+ py.test
+ py.test2
+}
+
+package_python-html5lib() {
+ pkgdesc="A Python HTML parser/tokenizer based on the WHATWG HTML5 spec"
+ depends=("${_deps[@]/#/python-}")
+ optdepends=('python-lxml: lxml treebuilder'
+ 'python-genshi: genshi treewalker')
+ cd "${srcdir}"/html5lib-python-${pkgver}
+
+ python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_python2-html5lib() {
+ pkgdesc="A Python2 HTML parser/tokenizer based on the WHATWG HTML5 spec"
+ depends=("${_deps[@]/#/python2-}")
+ optdepends=('python2-lxml: lxml treebuilder'
+ 'python2-genshi: genshi treewalker')
+ cd "${srcdir}"/html5lib-python-${pkgver}
+
+ python2 setup.py install --root="${pkgdir}" --optimize=1 --skip-build
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
Copied: python-html5lib/repos/community-any/pytest4.patch (from rev 530626, python-html5lib/trunk/pytest4.patch)
===================================================================
--- pytest4.patch (rev 0)
+++ pytest4.patch 2019-11-20 05:41:22 UTC (rev 530627)
@@ -0,0 +1,279 @@
+From 2699544837e68b12f1740a7eb56882a0dc0a4008 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro at hroncok.cz>
+Date: Thu, 28 Mar 2019 01:45:43 +0100
+Subject: [PATCH 1/4] Support pytest 4
+
+Fixes https://github.com/html5lib/html5lib-python/issues/411
+---
+ html5lib/tests/test_encoding.py | 4 ++--
+ html5lib/tests/test_sanitizer.py | 14 +++++++-------
+ html5lib/tests/test_serializer.py | 2 +-
+ html5lib/tests/test_stream.py | 7 ++++---
+ html5lib/tests/test_treewalkers.py | 2 +-
+ requirements-test.txt | 2 +-
+ tox.ini | 2 +-
+ 7 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/html5lib/tests/test_encoding.py b/html5lib/tests/test_encoding.py
+index 9a411c77..97b6ca2a 100644
+--- a/html5lib/tests/test_encoding.py
++++ b/html5lib/tests/test_encoding.py
+@@ -99,8 +99,8 @@ def test_encoding():
+ for filename in get_data_files("encoding"):
+ tests = _TestData(filename, b"data", encoding=None)
+ for test in tests:
+- yield (runParserEncodingTest, test[b'data'], test[b'encoding'])
+- yield (runPreScanEncodingTest, test[b'data'], test[b'encoding'])
++ runParserEncodingTest(test[b'data'], test[b'encoding'])
++ runPreScanEncodingTest(test[b'data'], test[b'encoding'])
+
+
+ # pylint:disable=wrong-import-position
+diff --git a/html5lib/tests/test_sanitizer.py b/html5lib/tests/test_sanitizer.py
+index 45046d57..1b7285fc 100644
+--- a/html5lib/tests/test_sanitizer.py
++++ b/html5lib/tests/test_sanitizer.py
+@@ -67,19 +67,19 @@ def test_sanitizer():
+ 'tfoot', 'th', 'thead', 'tr', 'select']:
+ continue # TODO
+ if tag_name == 'image':
+- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
++ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+ "<img title=\"1\"/>foo <bad>bar</bad> baz",
+ "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
+ elif tag_name == 'br':
+- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
++ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+ "<br title=\"1\"/>foo <bad>bar</bad> baz<br/>",
+ "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
+ elif tag_name in constants.voidElements:
+- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
++ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+ "<%s title=\"1\"/>foo <bad>bar</bad> baz" % tag_name,
+ "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
+ else:
+- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
++ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+ "<%s title=\"1\">foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name),
+ "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
+
+@@ -93,7 +93,7 @@ def test_sanitizer():
+ attribute_value = 'foo'
+ if attribute_name in sanitizer.attr_val_is_uri:
+ attribute_value = '%s://sub.domain.tld/path/object.ext' % sanitizer.allowed_protocols[0]
+- yield (runSanitizerTest, "test_should_allow_%s_attribute" % attribute_name,
++ runSanitizerTest("test_should_allow_%s_attribute" % attribute_name,
+ "<p %s=\"%s\">foo <bad>bar</bad> baz</p>" % (attribute_name, attribute_value),
+ "<p %s='%s'>foo <bad>bar</bad> baz</p>" % (attribute_name, attribute_value))
+
+@@ -101,7 +101,7 @@ def test_sanitizer():
+ rest_of_uri = '//sub.domain.tld/path/object.ext'
+ if protocol == 'data':
+ rest_of_uri = 'image/png;base64,aGVsbG8gd29ybGQ='
+- yield (runSanitizerTest, "test_should_allow_uppercase_%s_uris" % protocol,
++ runSanitizerTest("test_should_allow_uppercase_%s_uris" % protocol,
+ "<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
+ """<img src="%s:%s">foo</a>""" % (protocol, rest_of_uri))
+
+@@ -110,7 +110,7 @@ def test_sanitizer():
+ if protocol == 'data':
+ rest_of_uri = 'image/png;base64,aGVsbG8gd29ybGQ='
+ protocol = protocol.upper()
+- yield (runSanitizerTest, "test_should_allow_uppercase_%s_uris" % protocol,
++ runSanitizerTest("test_should_allow_uppercase_%s_uris" % protocol,
+ "<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
+ """<img src="%s:%s">foo</a>""" % (protocol, rest_of_uri))
+
+diff --git a/html5lib/tests/test_serializer.py b/html5lib/tests/test_serializer.py
+index c23592af..a4250935 100644
+--- a/html5lib/tests/test_serializer.py
++++ b/html5lib/tests/test_serializer.py
+@@ -222,4 +222,4 @@ def test_serializer():
+ with open(filename) as fp:
+ tests = json.load(fp)
+ for test in tests['tests']:
+- yield runSerializerTest, test["input"], test["expected"], test.get("options", {})
++ runSerializerTest(test["input"], test["expected"], test.get("options", {}))
+diff --git a/html5lib/tests/test_stream.py b/html5lib/tests/test_stream.py
+index 27c39538..a9b3ebbe 100644
+--- a/html5lib/tests/test_stream.py
++++ b/html5lib/tests/test_stream.py
+@@ -308,9 +308,10 @@ def test_invalid_codepoints(inp, num):
+ ("'\\uD800\\uD800\\uD800'", 3),
+ ("'a\\uD800a\\uD800a\\uD800a'", 3),
+ ("'\\uDFFF\\uDBFF'", 2),
+- pytest.mark.skipif(sys.maxunicode == 0xFFFF,
+- ("'\\uDBFF\\uDFFF'", 2),
+- reason="narrow Python")])
++ pytest.param(
++ "'\\uDBFF\\uDFFF'", 2,
++ marks=pytest.mark.skipif(sys.maxunicode == 0xFFFF,
++ reason="narrow Python"))])
+ def test_invalid_codepoints_surrogates(inp, num):
+ inp = eval(inp) # pylint:disable=eval-used
+ fp = StringIO(inp)
+diff --git a/html5lib/tests/test_treewalkers.py b/html5lib/tests/test_treewalkers.py
+index 67fc89e5..c2323b7e 100644
+--- a/html5lib/tests/test_treewalkers.py
++++ b/html5lib/tests/test_treewalkers.py
+@@ -99,7 +99,7 @@ def test_treewalker_six_mix():
+
+ for tree in sorted(treeTypes.items()):
+ for intext, attrs, expected in sm_tests:
+- yield runTreewalkerEditTest, intext, expected, attrs, tree
++ runTreewalkerEditTest(intext, expected, attrs, tree)
+
+
+ @pytest.mark.parametrize("tree,char", itertools.product(sorted(treeTypes.items()), ["x", "\u1234"]))
+diff --git a/requirements-test.txt b/requirements-test.txt
+index 4e223a3f..b936e0fa 100644
+--- a/requirements-test.txt
++++ b/requirements-test.txt
+@@ -4,7 +4,7 @@ tox
+
+ flake8<3.0
+
+-pytest==3.2.5
++pytest>=4.3,<4.4
+ coverage
+ pytest-expect>=1.1,<2.0
+ mock
+From 7647f80e590141769c288e4d91c2e417af118725 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl at cepl.eu>
+Date: Fri, 1 Nov 2019 12:20:37 +0100
+Subject: [PATCH 2/4] Fix the patch by Miro Hroncok
+
+---
+ html5lib/tests/test_encoding.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/html5lib/tests/test_encoding.py b/html5lib/tests/test_encoding.py
+index 97b6ca2a..9f137e7a 100644
+--- a/html5lib/tests/test_encoding.py
++++ b/html5lib/tests/test_encoding.py
+@@ -95,6 +95,7 @@ def runPreScanEncodingTest(data, encoding):
+ assert encoding == stream.charEncoding[0].name, errorMessage(data, encoding, stream.charEncoding[0].name)
+
+
++ at pytest.mark.skip(reason="broken under pytest4")
+ def test_encoding():
+ for filename in get_data_files("encoding"):
+ tests = _TestData(filename, b"data", encoding=None)
+
+From 8ded69fdc0ae45f0531e1633927beb2190ab18a6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl at cepl.eu>
+Date: Fri, 8 Nov 2019 15:28:00 +0100
+Subject: [PATCH 3/4] Make flake8 happy
+
+---
+ html5lib/tests/test_sanitizer.py | 44 ++++++++++++++++++++------------
+ 1 file changed, 27 insertions(+), 17 deletions(-)
+
+diff --git a/html5lib/tests/test_sanitizer.py b/html5lib/tests/test_sanitizer.py
+index 1b7285fc..a29d5ef3 100644
+--- a/html5lib/tests/test_sanitizer.py
++++ b/html5lib/tests/test_sanitizer.py
+@@ -63,25 +63,32 @@ def test_sanitizer():
+ for ns, tag_name in sanitizer.allowed_elements:
+ if ns != constants.namespaces["html"]:
+ continue
+- if tag_name in ['caption', 'col', 'colgroup', 'optgroup', 'option', 'table', 'tbody', 'td',
+- 'tfoot', 'th', 'thead', 'tr', 'select']:
++ if tag_name in ['caption', 'col', 'colgroup', 'optgroup', 'option',
++ 'table', 'tbody', 'td', 'tfoot', 'th', 'thead',
++ 'tr', 'select']:
+ continue # TODO
+ if tag_name == 'image':
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+- "<img title=\"1\"/>foo <bad>bar</bad> baz",
+- "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
++ "<img title=\"1\"/>foo <bad>bar</bad> baz",
++ "<%s title='1'>foo <bad>bar</bad> baz</%s>" %
++ (tag_name, tag_name))
+ elif tag_name == 'br':
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+- "<br title=\"1\"/>foo <bad>bar</bad> baz<br/>",
+- "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
++ "<br title=\"1\"/>foo <bad>bar</bad> baz<br/>",
++ "<%s title='1'>foo <bad>bar</bad> baz</%s>" %
++ (tag_name, tag_name))
+ elif tag_name in constants.voidElements:
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+- "<%s title=\"1\"/>foo <bad>bar</bad> baz" % tag_name,
+- "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
++ "<%s title=\"1\"/>foo <bad>bar</bad> baz" %
++ tag_name,
++ "<%s title='1'>foo <bad>bar</bad> baz</%s>" %
++ (tag_name, tag_name))
+ else:
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
+- "<%s title=\"1\">foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name),
+- "<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name, tag_name))
++ "<%s title=\"1\">foo <bad>bar</bad> baz</%s>" %
++ (tag_name, tag_name),
++ "<%s title='1'>foo <bad>bar</bad> baz</%s>" %
++ (tag_name, tag_name))
+
+ for ns, attribute_name in sanitizer.allowed_attributes:
+ if ns is not None:
+@@ -92,18 +99,21 @@ def test_sanitizer():
+ continue
+ attribute_value = 'foo'
+ if attribute_name in sanitizer.attr_val_is_uri:
+- attribute_value = '%s://sub.domain.tld/path/object.ext' % sanitizer.allowed_protocols[0]
++ attribute_value = '%s://sub.domain.tld/path/object.ext' \
++ % sanitizer.allowed_protocols[0]
+ runSanitizerTest("test_should_allow_%s_attribute" % attribute_name,
+- "<p %s=\"%s\">foo <bad>bar</bad> baz</p>" % (attribute_name, attribute_value),
+- "<p %s='%s'>foo <bad>bar</bad> baz</p>" % (attribute_name, attribute_value))
++ "<p %s=\"%s\">foo <bad>bar</bad> baz</p>" %
++ (attribute_name, attribute_value),
++ "<p %s='%s'>foo <bad>bar</bad> baz</p>" %
++ (attribute_name, attribute_value))
+
+ for protocol in sanitizer.allowed_protocols:
+ rest_of_uri = '//sub.domain.tld/path/object.ext'
+ if protocol == 'data':
+ rest_of_uri = 'image/png;base64,aGVsbG8gd29ybGQ='
+ runSanitizerTest("test_should_allow_uppercase_%s_uris" % protocol,
+- "<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
+- """<img src="%s:%s">foo</a>""" % (protocol, rest_of_uri))
++ "<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
++ '<img src="%s:%s">foo</a>' % (protocol, rest_of_uri))
+
+ for protocol in sanitizer.allowed_protocols:
+ rest_of_uri = '//sub.domain.tld/path/object.ext'
+@@ -111,8 +121,8 @@ def test_sanitizer():
+ rest_of_uri = 'image/png;base64,aGVsbG8gd29ybGQ='
+ protocol = protocol.upper()
+ runSanitizerTest("test_should_allow_uppercase_%s_uris" % protocol,
+- "<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
+- """<img src="%s:%s">foo</a>""" % (protocol, rest_of_uri))
++ "<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
++ '<img src="%s:%s">foo</a>' % (protocol, rest_of_uri))
+
+
+ def test_lowercase_color_codes_in_style():
+
+From b4d066b2d9b4ea1135183c6500565c2ab8758bf1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mat=C4=9Bj=20Cepl?= <mcepl at cepl.eu>
+Date: Fri, 8 Nov 2019 16:17:19 +0100
+Subject: [PATCH 4/4] No limits on the upper version of pytest
+
+---
+ requirements-test.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/requirements-test.txt b/requirements-test.txt
+index b936e0fa..1cd46922 100644
+--- a/requirements-test.txt
++++ b/requirements-test.txt
+@@ -4,7 +4,7 @@ tox
+
+ flake8<3.0
+
+-pytest>=4.3,<4.4
++pytest>=4.3
+ coverage
+ pytest-expect>=1.1,<2.0
+ mock
More information about the arch-commits
mailing list