diff --git a/src/pyoload/__init__.py b/src/pyoload/__init__.py index 02907d6..25e8d9b 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 @@ -218,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 @@ -557,7 +560,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