|
|
@@ -7,9 +7,12 @@ |
|
|
|
# "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
|
|
import importlib |
|
|
|
import warnings |
|
|
|
from functools import wraps |
|
|
|
|
|
|
|
from deprecated.sphinx import deprecated |
|
|
|
|
|
|
|
warnings.filterwarnings(action="default", module="megengine") |
|
|
|
|
|
|
|
|
|
|
|
def deprecated_func(version, origin, name, tbd): |
|
|
|
r""" |
|
|
@@ -27,16 +30,39 @@ def deprecated_func(version, origin, name, tbd): |
|
|
|
module = importlib.import_module(origin) |
|
|
|
func = module.__getattribute__(name) |
|
|
|
if should_warning: |
|
|
|
with warnings.catch_warnings(): |
|
|
|
warnings.simplefilter(action="always") |
|
|
|
warnings.warn( |
|
|
|
"Call to deprecated function {}. (use {}.{} instead) -- Deprecated since version {}.".format( |
|
|
|
name, origin, name, version |
|
|
|
), |
|
|
|
category=DeprecationWarning, |
|
|
|
stacklevel=2, |
|
|
|
) |
|
|
|
return func(*args, **kwargs) |
|
|
|
|
|
|
|
return wrapper |
|
|
|
|
|
|
|
|
|
|
|
def deprecated_kwargs_default(version, kwargs_name, kwargs_pos): |
|
|
|
r""" |
|
|
|
Args: |
|
|
|
version: version to deprecate this default |
|
|
|
kwargs_name: kwargs name |
|
|
|
kwargs_pos: kwargs position |
|
|
|
""" |
|
|
|
|
|
|
|
def deprecated(func): |
|
|
|
@wraps(func) |
|
|
|
def wrapper(*args, **kwargs): |
|
|
|
if len(args) < kwargs_pos and kwargs_name not in kwargs: |
|
|
|
warnings.warn( |
|
|
|
"Call to deprecated function {}. (use {}.{} instead) -- Deprecated since version {}.".format( |
|
|
|
name, origin, name, version |
|
|
|
"the default behavior for {} will be changed in version {}, please use it in keyword parameter way".format( |
|
|
|
kwargs_name, version |
|
|
|
), |
|
|
|
category=DeprecationWarning, |
|
|
|
category=PendingDeprecationWarning, |
|
|
|
stacklevel=2, |
|
|
|
) |
|
|
|
should_warning = False |
|
|
|
return func(*args, **kwargs) |
|
|
|
return func(*args, **kwargs) |
|
|
|
|
|
|
|
return wrapper |
|
|
|
return wrapper |
|
|
|
|
|
|
|
return deprecated |