git: 99f010015649 - main - www/py-requests-cache: Update to 0.9.5
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Jul 2022 12:37:44 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=99f01001564924ca1744f6f381dfda45575cccf8 commit 99f01001564924ca1744f6f381dfda45575cccf8 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2022-07-07 12:22:51 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2022-07-07 12:36:19 +0000 www/py-requests-cache: Update to 0.9.5 - Update WWW Changes: https://github.com/requests-cache/requests-cache/releases https://github.com/requests-cache/requests-cache/blob/main/HISTORY.md --- www/py-requests-cache/Makefile | 12 +- www/py-requests-cache/distinfo | 6 +- www/py-requests-cache/files/patch-cattrs | 186 ------------------------------- www/py-requests-cache/pkg-descr | 2 +- 4 files changed, 13 insertions(+), 193 deletions(-) diff --git a/www/py-requests-cache/Makefile b/www/py-requests-cache/Makefile index 917ead1689ed..3aa30501c7d1 100644 --- a/www/py-requests-cache/Makefile +++ b/www/py-requests-cache/Makefile @@ -1,7 +1,7 @@ # Created by: Kubilay Kocak <koobs@FreeBSD.org> PORTNAME= requests-cache -PORTVERSION= 0.9.4 +PORTVERSION= 0.9.5 CATEGORIES= www python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}appdirs>=1.4.4<2.0.0:devel/py-appdirs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}attrs>=21.2<22.0:devel/py-attrs@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}cattrs>=1.8<22.2:devel/py-cattrs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}cattrs>=1.8<22.2.1:devel/py-cattrs@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>=2.22<3.0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}url-normalize>=1.4<2.0:net/py-url-normalize@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}urllib3>=1.25.5,1<2.0.0,1:net/py-urllib3@${PY_FLAVOR} @@ -24,7 +24,13 @@ USE_PYTHON= autoplist concurrent distutils NO_ARCH= yes +.include <bsd.port.pre.mk> + +.if ${PYTHON_REL} < 31100 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}exceptiongroup>=1.0.0rc3:devel/py-exceptiongroup@${PY_FLAVOR} +.endif + do-test: cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -rs -v -.include <bsd.port.mk> +.include <bsd.port.post.mk> diff --git a/www/py-requests-cache/distinfo b/www/py-requests-cache/distinfo index bdcbd99e2124..32c5559f18f1 100644 --- a/www/py-requests-cache/distinfo +++ b/www/py-requests-cache/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1650970173 -SHA256 (requests-cache-0.9.4.tar.gz) = 04bb1212bbefba122080163530555f36e64fcd517ef8f90e289ef76f7ae055da -SIZE (requests-cache-0.9.4.tar.gz) = 1506554 +TIMESTAMP = 1656702534 +SHA256 (requests-cache-0.9.5.tar.gz) = bd67575f541f9c10f44f8b49d8d449fb55db8af2e27d93c56349f227b78e4b70 +SIZE (requests-cache-0.9.5.tar.gz) = 1506795 diff --git a/www/py-requests-cache/files/patch-cattrs b/www/py-requests-cache/files/patch-cattrs deleted file mode 100644 index 7b551569bd72..000000000000 --- a/www/py-requests-cache/files/patch-cattrs +++ /dev/null @@ -1,186 +0,0 @@ -Obtained from: https://github.com/requests-cache/requests-cache/commit/66550b5355f4a4f063b4b22c3139a2f941c91eb4 - ---- requests_cache/serializers/preconf.py.orig 2022-04-23 00:00:39 UTC -+++ requests_cache/serializers/preconf.py -@@ -1,9 +1,10 @@ -+# 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. - - This module wraps those converters as serializer :py:class:`.Stage` objects. These are then used as --a stage in a :py:class:`.SerializerPipeline`, which runs after the base converter and before the -+stages in a :py:class:`.SerializerPipeline`, which runs after the base converter and before the - format's ``dumps()`` (or equivalent) method. - - For any optional libraries that aren't installed, the corresponding serializer will be a placeholder -@@ -13,70 +14,95 @@ class that raises an ``ImportError`` at initialization - :nosignatures: - """ - import pickle -+from datetime import timedelta -+from decimal import Decimal - from functools import partial -+from importlib import import_module - --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 cattr import GenConverter - - 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) --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 -+ -+def make_stage(preconf_module: str, **kwargs): -+ """Create a preconf serializer stage from a module name, if dependencies are installed""" -+ try: -+ factory = import_module(preconf_module).make_converter -+ return CattrStage(factory, **kwargs) -+ except ImportError as e: -+ return get_placeholder_class(e) -+ -+ -+# Pre-serialization stages -+base_stage = CattrStage() #: Base stage for all serializer pipelines - 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 - -+# Basic serializers with no additional dependencies -+dict_serializer = SerializerPipeline( -+ [base_stage], is_binary=False -+) #: Partial serializer that unstructures responses into dicts -+pickle_serializer = SerializerPipeline( -+ [base_stage, Stage(pickle)], is_binary=True -+) #: Pickle serializer - - # 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') -+ 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 -- ) - -+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, 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'} - -+ -+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) -@@ -94,7 +120,8 @@ except ImportError: - - _json_stage = Stage(dumps=partial(json.dumps, indent=2), loads=json.loads) - json_serializer = SerializerPipeline( -- [_json_preconf_stage, _json_stage], is_binary=False -+ [_json_preconf_stage, _json_stage], -+ is_binary=False, - ) #: Complete JSON serializer; uses ultrajson if available - - -@@ -102,11 +129,9 @@ json_serializer = SerializerPipeline( - try: - import yaml - -+ _yaml_stage = Stage(yaml, loads='safe_load', dumps='safe_dump') - yaml_serializer = SerializerPipeline( -- [ -- yaml_preconf_stage, -- Stage(yaml, loads='safe_load', dumps='safe_dump'), -- ], -+ [yaml_preconf_stage, _yaml_stage], - is_binary=False, - ) #: Complete YAML serializer - except ImportError as e: ---- setup.py.orig 1970-01-01 00:00:00 UTC -+++ setup.py -@@ -13,7 +13,7 @@ package_data = \ - install_requires = \ - ['appdirs>=1.4.4,<2.0.0', - 'attrs>=21.2,<22.0', -- 'cattrs>=1.8,<2.0', -+ 'cattrs>=1.8,<22.2', - 'requests>=2.22,<3.0', - 'url-normalize>=1.4,<2.0', - 'urllib3>=1.25.5,<2.0.0'] diff --git a/www/py-requests-cache/pkg-descr b/www/py-requests-cache/pkg-descr index cbffa1b55be5..068627947fb0 100644 --- a/www/py-requests-cache/pkg-descr +++ b/www/py-requests-cache/pkg-descr @@ -16,4 +16,4 @@ Features: any combination of strategies - Compatibility: Can be combined with other popular libraries based on requests -WWW: https://github.com/reclosedev/requests-cache +WWW: https://github.com/requests-cache/requests-cache