diff options
author | Julien Roy <julien@jroy.ca> | 2023-02-05 00:27:30 -0500 |
---|---|---|
committer | Julien Roy <julien@jroy.ca> | 2023-02-05 00:27:30 -0500 |
commit | 94fdb74ebd1957c8bcae88829095d24271834643 (patch) | |
tree | 9535749fda6340cf00873e193619cfee525da624 /dev-python | |
parent | 581b5abca73f0a1a7909c2b070f4b2970c1e68b3 (diff) | |
download | MrRoy-Overlay-94fdb74ebd1957c8bcae88829095d24271834643.tar.gz MrRoy-Overlay-94fdb74ebd1957c8bcae88829095d24271834643.tar.bz2 MrRoy-Overlay-94fdb74ebd1957c8bcae88829095d24271834643.zip |
dev-python/multipart: new package, add 0.2.4
Signed-off-by: Julien Roy <julien@jroy.ca>
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/multipart/Manifest | 1 | ||||
-rw-r--r-- | dev-python/multipart/files/multipart-urlencoded-test.patch | 35 | ||||
-rw-r--r-- | dev-python/multipart/metadata.xml | 20 | ||||
-rw-r--r-- | dev-python/multipart/multipart-0.2.4.ebuild | 28 |
4 files changed, 84 insertions, 0 deletions
diff --git a/dev-python/multipart/Manifest b/dev-python/multipart/Manifest new file mode 100644 index 0000000..0478ead --- /dev/null +++ b/dev-python/multipart/Manifest @@ -0,0 +1 @@ +DIST multipart-0.2.4.gh.tar.gz 21558 BLAKE2B c954eb8ff9288c65f45d94035fb5e0a7e59576fd54290678b764f62254a51b964e4a0292c8f8cc6e3945007d6abb8c52c7075af8dd6d94d57caaf98d43505c95 SHA512 5a0cbcbbfc3232257a607892d5d2176e03ff9c7056d146b99ba1e8067c8736f2e38676e08622d5100cf85b172affbfbd8938da92819e39fc4739184f666a14ed diff --git a/dev-python/multipart/files/multipart-urlencoded-test.patch b/dev-python/multipart/files/multipart-urlencoded-test.patch new file mode 100644 index 0000000..e47f692 --- /dev/null +++ b/dev-python/multipart/files/multipart-urlencoded-test.patch @@ -0,0 +1,35 @@ +From 4d4ac6b79c453918ebf40c690e8d57d982ee840b Mon Sep 17 00:00:00 2001 +From: Colin Watson <cjwatson@debian.org> +Date: Fri, 9 Apr 2021 16:54:49 +0100 +Subject: [PATCH] Don't test semicolon separators in urlencoded data + +Python no longer accepts ";" as a separator for `urllib.parse.parse_qs` +by default (https://bugs.python.org/issue42967), causing the multipart +test suite to fail with recent Python versions (3.6.13, 3.7.10, 3.8.8, +3.9.2, 3.10.0a6). + +While we could detect the availability of the `separator` argument and +pass it, since `application/x-www-form-urlencoded` data in `POST` and +`PUT` requests is probably not an issue for web cache poisoning, the +current HTML spec seems clear that only "&" should be considered, so +follow along with Python's API change. +--- + test/test_multipart.py | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/test/test_multipart.py b/test/test_multipart.py +index 38c69d1..6fe864f 100644 +--- a/test/test_multipart.py ++++ b/test/test_multipart.py +@@ -233,10 +233,9 @@ def test_empty(self): + def test_urlencoded(self): + for ctype in ('application/x-www-form-urlencoded', 'application/x-url-encoded'): + self.env['CONTENT_TYPE'] = ctype +- forms, files = self.parse('a=b&c=d;e=f') ++ forms, files = self.parse('a=b&c=d') + self.assertEqual(forms['a'], 'b') + self.assertEqual(forms['c'], 'd') +- self.assertEqual(forms['e'], 'f') + + def test_urlencoded_latin1(self): + for ctype in ('application/x-www-form-urlencoded', 'application/x-url-encoded'): diff --git a/dev-python/multipart/metadata.xml b/dev-python/multipart/metadata.xml new file mode 100644 index 0000000..f59dd1e --- /dev/null +++ b/dev-python/multipart/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Julien Roy</name> + <email>julien@jroy.ca</email> + </maintainer> + <longdescription> + This module provides a parser for the multipart/form-data format. It can read from a file, a socket or a WSGI environment. The parser can be used to replace cgi.FieldStorage to work around its limitations. + </longdescription> + <upstream> + <maintainer> + <name>Marcel Hellkamp</name> + <email>marc@gsites.de</email> + </maintainer> + <bugs-to>https://github.com/defnull/multipart/issues</bugs-to> + <remote-id type="github">defnull/multipart</remote-id> + <remote-id type="pypi">multipart</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-python/multipart/multipart-0.2.4.ebuild b/dev-python/multipart/multipart-0.2.4.ebuild new file mode 100644 index 0000000..a9c97cc --- /dev/null +++ b/dev-python/multipart/multipart-0.2.4.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..11} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Multipart parser for Python 3" +HOMEPAGE="https://github.com/defnull/multipart" +SRC_URI="https://github.com/defnull/multipart/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +distutils_enable_tests unittest + +PATCHES=( + "${FILESDIR}/multipart-urlencoded-test.patch" +) + +src_test() { + cd "${S}/test" || die + distutils-r1_src_test +} |