Source code for twilio.base.obsolete

import warnings
import functools


[docs]class ObsoleteException(Exception): """ Base class for warnings about obsolete features. """ pass
[docs]def obsolete_client(func): """This is a decorator which can be used to mark Client classes as obsolete. It will result in an error being emitted when the class is instantiated.""" @functools.wraps(func) def new_func(*args, **kwargs): raise ObsoleteException( "{} has been removed from this version of the library. " "Please refer to current documentation for guidance." .format(func.__name__) ) return new_func
[docs]def deprecated_method(new_func=None): """ This is a decorator which can be used to mark deprecated methods. It will report in a DeprecationWarning being emitted to stderr when the deprecated method is used. """ def deprecated_method_wrapper(func): @functools.wraps(func) def wrapper(*args, **kwargs): msg = 'Function method .{}() is deprecated'.format(func.__name__) msg += ' in favor of .{}()'.format(new_func) if isinstance(new_func, str) else '' warnings.warn(msg, DeprecationWarning) return func(*args, **kwargs) return wrapper if callable(new_func): return deprecated_method_wrapper(new_func) return deprecated_method_wrapper