parent
855799dc19
commit
d41d074c1e
@ -0,0 +1,22 @@
|
||||
"""Decorator for warning about deprecated widget classes"""
|
||||
|
||||
# Copyright (c) IPython Development Team.
|
||||
# Distributed under the terms of the Modified BSD License.
|
||||
|
||||
from warnings import warn
|
||||
|
||||
|
||||
def DeprecatedClass(base, class_name):
|
||||
"""Warn about a deprecated class on instantiation"""
|
||||
# Hook the init method of the base class.
|
||||
def init_hook(self, *pargs, **kwargs):
|
||||
base.__init__(self, *pargs, **kwargs)
|
||||
|
||||
# Warn once per class.
|
||||
if base not in DeprecatedClass._warned_classes:
|
||||
DeprecatedClass._warned_classes.append(base)
|
||||
warn('"{}" is deprecated, please use "{}" instead.'.format(
|
||||
class_name, base.__name__))
|
||||
return type(class_name, (base,), {'__init__': init_hook})
|
||||
|
||||
DeprecatedClass._warned_classes = []
|
||||
Loading…
Reference in new issue