r""" Args: version: version to deprecate this function origin: origin module path name: function name tbd: to be discussed, if true, ignore warnings
(version, origin, name, tbd)
| 8 | |
| 9 | |
| 10 | def deprecated_func(version, origin, name, tbd): |
| 11 | r""" |
| 12 | |
| 13 | Args: |
| 14 | version: version to deprecate this function |
| 15 | origin: origin module path |
| 16 | name: function name |
| 17 | tbd: to be discussed, if true, ignore warnings |
| 18 | """ |
| 19 | should_warning = not tbd |
| 20 | module = importlib.import_module(origin) |
| 21 | func = module.__getattribute__(name) |
| 22 | |
| 23 | @wraps(func) |
| 24 | def wrapper(*args, **kwargs): |
| 25 | nonlocal should_warning |
| 26 | if should_warning: |
| 27 | warnings.warn( |
| 28 | "Call to deprecated function {}. (use {}.{} instead) -- Deprecated since version {}.".format( |
| 29 | name, origin, name, version |
| 30 | ), |
| 31 | category=DeprecationWarning, |
| 32 | stacklevel=2, |
| 33 | ) |
| 34 | return func(*args, **kwargs) |
| 35 | |
| 36 | return wrapper |
| 37 | |
| 38 | |
| 39 | def deprecated_kwargs_default(version, kwargs_name, kwargs_pos): |
no test coverage detected