diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-08-03 13:50:40 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-08-03 13:50:40 +0100 |
commit | a2c1a301b2ea85c230b30ef69ff667f230a1bf88 (patch) | |
tree | 72b20e59998ee19c32c86634c05e02790faaf20f /dev-python/requests-cache | |
parent | 24d75f43d3d4caf76f2448bb277e89a3b3ae0d99 (diff) |
gentoo auto-resync : 03:08:2022 - 13:50:40
Diffstat (limited to 'dev-python/requests-cache')
4 files changed, 236 insertions, 2 deletions
diff --git a/dev-python/requests-cache/Manifest b/dev-python/requests-cache/Manifest index f5988bfff85a..176263061747 100644 --- a/dev-python/requests-cache/Manifest +++ b/dev-python/requests-cache/Manifest @@ -1,3 +1,6 @@ +AUX requests-cache-0.9.3-cattrs-22.patch 6925 BLAKE2B f753c154741fe3a6b6fb05db19ddeadff669e2175a2113709921a2356dd53f4b867be8f9a3b91c36cbeeb891f9261c956b8728acdc03183a678117190afbd026 SHA512 f3258aa033e197dece2eca00169a833259d44c91488780edcc945839960bbeeb28f77d7dea806eecabcefea20aaa9c1a8c3448a0d34da58f89083cc7e82a597c +DIST requests-cache-0.9.4.gh.tar.gz 1541821 BLAKE2B 90f3ffe8f4213a47d19c1190f1201bb484473a4ee2fae82dff59c9e80bc8c154739e99f5024aa55b436f9e620d5594441df61e2db44e3cbb381d394c1b6b4a0b SHA512 66023dc8b153070a532f160af58ac2102f6b9d536a0045c4c62ad1d4175f59df6e7db5a25422f5610a2f17049270ad0b63c6023ddddf64235432a63d2cce9b91 DIST requests-cache-0.9.5.gh.tar.gz 1542034 BLAKE2B 01996e7536ce967dee2b909091d1eb08501b3882b6171a5460b2196666eed848dec89a85ef8ea0c892b2fd153f90107948239de04b973e7766d3acfad7b10059 SHA512 de1481ff609f3ff36ed662d986fb86a500a8d26755832478a9a4396f2c71934b5f65540137b92365eb36f66087b3fbc1cd72c63d37546d09c86bbee7340fd8eb -EBUILD requests-cache-0.9.5.ebuild 1800 BLAKE2B 94b814c239d343e3515c79c34b353a0920fba71b0139cac1f7d3332f891ac6d8cbfff2c68aaed8b47419606a4ed68b3950f04fe74ad83760eb17acf242983403 SHA512 c5483081f64e6a05343e9c57f32b715401d323558150bbb34e120fc351f3284a1439a50637dcf8045fa690b052597c43a60645972703241ff437f9e08f4e83da +EBUILD requests-cache-0.9.4.ebuild 1973 BLAKE2B 80dd5db6761f818e3b389fd063371cd549050b7636fff825637d106a58feeb678e9915b773d28beac892d00a1c7e63d5dfa24bcede8c66e7e1b7cd472253bafb SHA512 e82a49eb38e33ffedc1d1cb28482ac838549116a9c8ed73b08f79a74b4f4a2cf95c5638465828056d862a6762168d2678319ddfbedc825b48e4e8ccfec2c52c6 +EBUILD requests-cache-0.9.5.ebuild 1802 BLAKE2B 8addbff1f4603f7c28f8bc5fc3ca350ea1d1c01084e0c5461c04128680b05f5d93e8fe0ece13b9aaaa0ef42245120dee7d356991f2bfa76e6199df5013967980 SHA512 112cf3cba0fcd6f3bedbe4bcf12412c6ce5c77d01c93a187164b338e5958210df7a1c92b87230adb9dc341b296d86eaec51c3a68d13ef87f7f311d4fef96e0ee MISC metadata.xml 541 BLAKE2B a8fd81921a36e2fe5bdec38cc1039b9e91971c992a59cbe2dc4826977f753bd6cd2533f65b5f1a076308a898972fe70e85a2c8cf480259e9801f51b10c4de8a4 SHA512 64f29b67eaf3ce892a9f918abd7eaf8f020323e9e0d986b424cffc83e3ac1ba5cb14b534f0a0ec73a8e81694ca4e0e7f98ef02968ac5b43dab104b2b12e8e0f2 diff --git a/dev-python/requests-cache/files/requests-cache-0.9.3-cattrs-22.patch b/dev-python/requests-cache/files/requests-cache-0.9.3-cattrs-22.patch new file mode 100644 index 000000000000..258738158355 --- /dev/null +++ b/dev-python/requests-cache/files/requests-cache-0.9.3-cattrs-22.patch @@ -0,0 +1,150 @@ +From 7917ba0dd12901d88137d3f8b487307eda38d326 Mon Sep 17 00:00:00 2001 +From: Jordan Cook <jordan.cook@pioneer.com> +Date: Sat, 9 Apr 2022 13:33:32 -0500 +Subject: [PATCH] Add compatibility with cattrs 21.1+, and clean up preconf + module a bit + +--- + requests_cache/__init__.py | 2 +- + requests_cache/serializers/preconf.py | 89 +++++++++++++++------------ + 2 files changed, 49 insertions(+), 42 deletions(-) + +diff --git a/requests_cache/__init__.py b/requests_cache/__init__.py +index 87781ba..835586c 100644 +--- a/requests_cache/__init__.py ++++ b/requests_cache/__init__.py +@@ -17,4 +17,4 @@ try: + from .session import * + # Log and ignore ImportErrors, if imported outside a virtualenv (e.g., just to check __version__) + except ImportError as e: +- logger.warning(e) ++ logger.warning(e, exc_info=True) +diff --git a/requests_cache/serializers/preconf.py b/requests_cache/serializers/preconf.py +index ed19fb4..cb099b8 100644 +--- a/requests_cache/serializers/preconf.py ++++ b/requests_cache/serializers/preconf.py +@@ -1,3 +1,4 @@ ++# flake8: noqa: F841 + """The ``cattrs`` library includes a number of `pre-configured converters + <https://cattrs.readthedocs.io/en/latest/preconf.html>`_ that perform some pre-serialization steps + required for specific serialization formats. +@@ -14,69 +15,75 @@ class that raises an ``ImportError`` at initialization time instead of at import + """ + import pickle + from functools import partial +- +-from cattr.preconf import bson as bson_preconf +-from cattr.preconf import json as json_preconf +-from cattr.preconf import msgpack, orjson, pyyaml, tomlkit, ujson ++from importlib import import_module + + from .._utils import get_placeholder_class + from .cattrs import CattrStage + from .pipeline import SerializerPipeline, Stage + +-base_stage = ( +- CattrStage() +-) #: Base stage for all serializer pipelines (or standalone dict serializer) ++ ++def make_stage(preconf_module: str): ++ """Create a preconf serializer stage from a module name, if dependencies are installed""" ++ try: ++ return CattrStage(import_module(preconf_module).make_converter) ++ except ImportError as e: ++ return get_placeholder_class(e) ++ ++ ++base_stage = CattrStage() #: Base stage for all serializer pipelines + dict_serializer = base_stage #: Partial serializer that unstructures responses into dicts +-bson_preconf_stage = CattrStage(bson_preconf.make_converter) #: Pre-serialization steps for BSON +-json_preconf_stage = CattrStage(json_preconf.make_converter) #: Pre-serialization steps for JSON +-msgpack_preconf_stage = CattrStage(msgpack.make_converter) #: Pre-serialization steps for msgpack +-orjson_preconf_stage = CattrStage(orjson.make_converter) #: Pre-serialization steps for orjson +-yaml_preconf_stage = CattrStage(pyyaml.make_converter) #: Pre-serialization steps for YAML +-toml_preconf_stage = CattrStage(tomlkit.make_converter) #: Pre-serialization steps for TOML +-ujson_preconf_stage = CattrStage(ujson.make_converter) #: Pre-serialization steps for ultrajson +-pickle_serializer = SerializerPipeline( +- [base_stage, pickle], is_binary=True +-) #: Complete pickle serializer ++pickle_serializer = SerializerPipeline([base_stage, pickle], is_binary=True) #: Pickle serializer + utf8_encoder = Stage(dumps=str.encode, loads=lambda x: x.decode()) #: Encode to bytes ++bson_preconf_stage = make_stage('cattr.preconf.bson') #: Pre-serialization steps for BSON ++json_preconf_stage = make_stage('cattr.preconf.json') #: Pre-serialization steps for JSON ++msgpack_preconf_stage = make_stage('cattr.preconf.msgpack') #: Pre-serialization steps for msgpack ++orjson_preconf_stage = make_stage('cattr.preconf.orjson') #: Pre-serialization steps for orjson ++toml_preconf_stage = make_stage('cattr.preconf.tomlkit') #: Pre-serialization steps for TOML ++ujson_preconf_stage = make_stage('cattr.preconf.ujson') #: Pre-serialization steps for ultrajson ++yaml_preconf_stage = make_stage('cattr.preconf.pyyaml') #: Pre-serialization steps for YAML + + + # Safe pickle serializer +-try: ++def signer_stage(secret_key=None, salt='requests-cache') -> Stage: ++ """Create a stage that uses ``itsdangerous`` to add a signature to responses on write, and ++ validate that signature with a secret key on read. Can be used in a ++ :py:class:`.SerializerPipeline` in combination with any other serialization steps. ++ """ + from itsdangerous import Signer + +- def signer_stage(secret_key=None, salt='requests-cache') -> Stage: +- """Create a stage that uses ``itsdangerous`` to add a signature to responses on write, and +- validate that signature with a secret key on read. Can be used in a +- :py:class:`.SerializerPipeline` in combination with any other serialization steps. +- """ +- return Stage(Signer(secret_key=secret_key, salt=salt), dumps='sign', loads='unsign') +- +- def safe_pickle_serializer( +- secret_key=None, salt='requests-cache', **kwargs +- ) -> SerializerPipeline: +- """Create a serializer that uses ``pickle`` + ``itsdangerous`` to add a signature to +- responses on write, and validate that signature with a secret key on read. +- """ +- return SerializerPipeline( +- [base_stage, pickle, signer_stage(secret_key, salt)], is_binary=True +- ) ++ return Stage(Signer(secret_key=secret_key, salt=salt), dumps='sign', loads='unsign') ++ ++ ++def safe_pickle_serializer(secret_key=None, salt='requests-cache', **kwargs) -> SerializerPipeline: ++ """Create a serializer that uses ``pickle`` + ``itsdangerous`` to add a signature to ++ responses on write, and validate that signature with a secret key on read. ++ """ ++ return SerializerPipeline([base_stage, pickle, signer_stage(secret_key, salt)], is_binary=True) ++ + ++try: ++ import itsdangerous # noqa: F401 + except ImportError as e: + signer_stage = get_placeholder_class(e) + safe_pickle_serializer = get_placeholder_class(e) + + +-# BSON serializer +-try: ++def _get_bson_functions(): ++ """Handle different function names between pymongo's bson and standalone bson""" + try: +- from bson import decode as _bson_loads +- from bson import encode as _bson_dumps ++ import pymongo # noqa: F401 ++ ++ return {'dumps': 'encode', 'loads': 'decode'} + except ImportError: +- from bson import dumps as _bson_dumps +- from bson import loads as _bson_loads ++ return {'dumps': 'dumps', 'loads': 'loads'} ++ ++ ++# BSON serializer ++try: ++ import bson + + bson_serializer = SerializerPipeline( +- [bson_preconf_stage, Stage(dumps=_bson_dumps, loads=_bson_loads)], is_binary=True ++ [bson_preconf_stage, Stage(bson, **_get_bson_functions())], is_binary=True + ) #: Complete BSON serializer; uses pymongo's ``bson`` if installed, otherwise standalone ``bson`` codec + except ImportError as e: + bson_serializer = get_placeholder_class(e) +-- +2.35.1 + diff --git a/dev-python/requests-cache/requests-cache-0.9.4.ebuild b/dev-python/requests-cache/requests-cache-0.9.4.ebuild new file mode 100644 index 000000000000..c9a10a8eef4c --- /dev/null +++ b/dev-python/requests-cache/requests-cache-0.9.4.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=poetry +PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_REQ_USE="sqlite" + +inherit distutils-r1 optfeature + +HOMEPAGE=" + https://pypi.org/project/requests-cache/ + https://github.com/requests-cache/requests-cache/ +" +DESCRIPTION="Persistent cache for requests library" +SRC_URI=" + https://github.com/requests-cache/requests-cache/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 x86" + +RDEPEND=" + dev-python/attrs[${PYTHON_USEDEP}] + dev-python/appdirs[${PYTHON_USEDEP}] + dev-python/cattrs[${PYTHON_USEDEP}] + >=dev-python/requests-2.0.0[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] + >=dev-python/url-normalize-1.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/itsdangerous[${PYTHON_USEDEP}] + dev-python/pytest-httpbin[${PYTHON_USEDEP}] + dev-python/requests-mock[${PYTHON_USEDEP}] + dev-python/responses[${PYTHON_USEDEP}] + dev-python/timeout-decorator[${PYTHON_USEDEP}] + dev-python/ujson[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +PATCHES=( + "${FILESDIR}"/requests-cache-0.9.3-cattrs-22.patch +) + +src_prepare() { + # unpin the dep + sed -i -e '/cattrs/s:\^:>=:' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_IGNORE=( + # These require extra servers running + tests/integration/test_dynamodb.py + tests/integration/test_gridfs.py + tests/integration/test_mongodb.py + tests/integration/test_redis.py + ) + local EPYTEST_DESELECT=( + # Requires Internet access + tests/integration/test_compat.py::test_version_upgrade + ) + + local -x USE_PYTEST_HTTPBIN=true + epytest +} + +pkg_postinst() { + optfeature "redis backend" "dev-python/redis-py" + optfeature "MongoDB backend" "dev-python/pymongo" + + optfeature "JSON serialization" "dev-python/ujson" + optfeature "YAML serialization" "dev-python/pyyaml" + optfeature "signing serialized data" "dev-python/itsdangerous" +} diff --git a/dev-python/requests-cache/requests-cache-0.9.5.ebuild b/dev-python/requests-cache/requests-cache-0.9.5.ebuild index 836dbde0e04f..a05212c9f27b 100644 --- a/dev-python/requests-cache/requests-cache-0.9.5.ebuild +++ b/dev-python/requests-cache/requests-cache-0.9.5.ebuild @@ -21,7 +21,7 @@ SRC_URI=" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" RDEPEND=" dev-python/attrs[${PYTHON_USEDEP}] |