Remove types for __deprecated as ParamSpec not available on Py3.8
This commit is contained in:
@@ -3,7 +3,7 @@ based on Nguyen Anh Quynnh's work
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
from typing import TYPE_CHECKING, Any, Callable, Dict, Generic, Iterable, Iterator, Optional, Sequence, Tuple, Type, TypeVar, Union, ParamSpec
|
from typing import TYPE_CHECKING, Any, Callable, Dict, Generic, Iterable, Iterator, Optional, Sequence, Tuple, Type, TypeVar, Union
|
||||||
|
|
||||||
import ctypes
|
import ctypes
|
||||||
import functools
|
import functools
|
||||||
@@ -636,14 +636,12 @@ class Uc(RegStateManager):
|
|||||||
# https://stackoverflow.com/questions/2536307/decorators-in-the-python-standard-lib-deprecated-specifically
|
# https://stackoverflow.com/questions/2536307/decorators-in-the-python-standard-lib-deprecated-specifically
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def __deprecated(msg: str):
|
def __deprecated(msg: str):
|
||||||
__rT = TypeVar('rT') # return type
|
def __deprecated_inner(func: Callable) -> Callable:
|
||||||
__pT = ParamSpec('pT') # parameters type
|
|
||||||
def __deprecated_inner(func: Callable[__pT, __rT]) -> Callable[__pT, __rT]:
|
|
||||||
"""Use this decorator to mark functions as deprecated.
|
"""Use this decorator to mark functions as deprecated.
|
||||||
Every time the decorated function runs, it will emit
|
Every time the decorated function runs, it will emit
|
||||||
a "deprecation" warning."""
|
a "deprecation" warning."""
|
||||||
@functools.wraps(func)
|
@functools.wraps(func)
|
||||||
def new_func(*args: __pT.args, **kwargs: __pT.kwargs):
|
def new_func(*args, **kwargs):
|
||||||
warnings.simplefilter('always', DeprecationWarning) # turn off filter
|
warnings.simplefilter('always', DeprecationWarning) # turn off filter
|
||||||
warnings.warn("Call to a deprecated function {}. {}".format(func.__name__, msg),
|
warnings.warn("Call to a deprecated function {}. {}".format(func.__name__, msg),
|
||||||
category=DeprecationWarning,
|
category=DeprecationWarning,
|
||||||
|
|||||||
Reference in New Issue
Block a user