From cdf6c51e1db11d4b35d467ee9030f231a38a9da3 Mon Sep 17 00:00:00 2001 From: ken-morel Date: Sun, 2 Jun 2024 14:40:42 +0100 Subject: [PATCH 1/3] corrected tests, a,nd added test for #8 --- src/pyoload/__init__.py | 2 +- src/tests/test_cast.py | 2 +- src/tests/test_check.py | 9 ++++++++- src/tests/test_overload.py | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/pyoload/__init__.py b/src/pyoload/__init__.py index 02907d6..738e452 100644 --- a/src/pyoload/__init__.py +++ b/src/pyoload/__init__.py @@ -557,7 +557,7 @@ def overload(func: Callable, name: str | None = None): __overloads__[name] = [] __overloads__[name].append(annotate(func, True)) - @wraps(func: Callable) + @wraps(func) def wrapper(*args, **kw): for f in __overloads__[name]: try: diff --git a/src/tests/test_cast.py b/src/tests/test_cast.py index 7bff635..00a9b5a 100644 --- a/src/tests/test_cast.py +++ b/src/tests/test_cast.py @@ -6,7 +6,7 @@ from pyoload import annotate from pyoload import typeMatch -assert pyoload.__version__ == '1.1.2' +assert pyoload.__version__ == '1.1.3' @annotate diff --git a/src/tests/test_check.py b/src/tests/test_check.py index 3414ad1..6e62d86 100644 --- a/src/tests/test_check.py +++ b/src/tests/test_check.py @@ -4,9 +4,10 @@ from pyoload import Any from pyoload import CheckedAttr from pyoload import Checks +from pyoload import Check from pyoload import annotate -assert pyoload.__version__ == '1.1.2' +assert pyoload.__version__ == '1.1.3' @annotate @@ -35,6 +36,12 @@ def test_check(): else: raise Exception() + @Check.register('test1 test2') + def test(param, val): + print(param, val) + Checks(test1=3)(3) + Checks(test2=4)(4) + if __name__ == '__main__': test_check() diff --git a/src/tests/test_overload.py b/src/tests/test_overload.py index 142d62c..612b3be 100644 --- a/src/tests/test_overload.py +++ b/src/tests/test_overload.py @@ -5,7 +5,7 @@ from pyoload import get_name from pyoload import overload -assert pyoload.__version__ == '1.1.2' +assert pyoload.__version__ == '1.1.3' @overload From 7d384e76035325d73004fe4bb075cea24f29ea96 Mon Sep 17 00:00:00 2001 From: ken-morel Date: Sun, 2 Jun 2024 14:45:16 +0100 Subject: [PATCH 2/3] updated Check.register to support multiple arguments --- src/pyoload/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pyoload/__init__.py b/src/pyoload/__init__.py index 738e452..32939ba 100644 --- a/src/pyoload/__init__.py +++ b/src/pyoload/__init__.py @@ -103,8 +103,10 @@ def register(cls: Any, name: str) -> Any: :param cls: the Check class :param name: the name to be registerred as """ - if name in cls.checks_list: - raise Check.CheckNameAlreadyExistsError(name) + names = [x for x in name.split(' ') if x.strip() != ''] + for name in names: + if name in cls.checks_list: + raise Check.CheckNameAlreadyExistsError(name) def inner(func: Callable) -> Callable: """def inner(func: Callable) @@ -112,7 +114,8 @@ def inner(func: Callable) -> Callable: :returns: func """ - cls.checks_list[name] = func + for name in names: + cls.checks_list[name] = func return func return inner From aa58efb2782978aef61a0175512660d2f0eca409 Mon Sep 17 00:00:00 2001 From: ken-morel Date: Sun, 2 Jun 2024 14:50:43 +0100 Subject: [PATCH 3/3] qdded comma --- src/pyoload/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pyoload/__init__.py b/src/pyoload/__init__.py index 32939ba..25e8d9b 100644 --- a/src/pyoload/__init__.py +++ b/src/pyoload/__init__.py @@ -221,7 +221,7 @@ class Checks(PyoloadAnnotation): def __init__( self: PyoloadAnnotation, - **checks: dict[str, Callable[Any, Any]] + **checks: dict[str, Callable[Any, Any]], ): """def __init__(self: PyoloadAnnotation, **checks) crates the check object,e.g