From 727545c519049c0ae0352200a804e65ee28dc66f Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Wed, 3 Aug 2022 09:03:40 +0200 Subject: dev-python/requests-cache: Remove old MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- dev-python/requests-cache/Manifest | 1 - .../files/requests-cache-0.9.3-cattrs-22.patch | 150 --------------------- .../requests-cache/requests-cache-0.9.4.ebuild | 81 ----------- 3 files changed, 232 deletions(-) delete mode 100644 dev-python/requests-cache/files/requests-cache-0.9.3-cattrs-22.patch delete mode 100644 dev-python/requests-cache/requests-cache-0.9.4.ebuild (limited to 'dev-python/requests-cache') diff --git a/dev-python/requests-cache/Manifest b/dev-python/requests-cache/Manifest index 1c63fb6def33..d2c56a578588 100644 --- a/dev-python/requests-cache/Manifest +++ b/dev-python/requests-cache/Manifest @@ -1,2 +1 @@ -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 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 deleted file mode 100644 index 258738158355..000000000000 --- a/dev-python/requests-cache/files/requests-cache-0.9.3-cattrs-22.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 7917ba0dd12901d88137d3f8b487307eda38d326 Mon Sep 17 00:00:00 2001 -From: Jordan Cook -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 - `_ 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 deleted file mode 100644 index c9a10a8eef4c..000000000000 --- a/dev-python/requests-cache/requests-cache-0.9.4.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# 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" -} -- cgit v1.2.3-65-gdbad