Commit 9221fb8d authored by Vincent Le gallic's avatar Vincent Le gallic
Browse files

[deprecated] On peut fournir la fonction à utiliser en remplacement de celle...

[deprecated] On peut fournir la fonction à utiliser en remplacement de celle dépréciée. (ou un random message)
parent 691ce584
......@@ -211,7 +211,7 @@ exit
for switch in self.switch :
self.configure_switch(switch)
@deprecated
@deprecated("Tous les switchs possèdent une authentification radius.")
def configure_chbre(self,chbre) :
""" Recontigure la chambre fournie chambre.
Déprécié. Tous les switchs possèdent une authentification radius."""
......
......@@ -4,18 +4,28 @@
import warnings
import functools
def deprecated(func):
def deprecated(replace=None):
'''This is a decorator which can be used to mark functions
as deprecated. It will result in a warning being emitted
when the function is used.'''
@functools.wraps(func)
def new_func(*args, **kwargs):
warnings.warn_explicit(
"Call to deprecated function {}.".format(func.__name__),
category=DeprecationWarning,
filename=func.func_code.co_filename,
lineno=func.func_code.co_firstlineno + 1
)
return func(*args, **kwargs)
return new_func
if replace == None:
instead = ""
elif isinstance(replace, str) or isinstance(replace, unicode):
instead = " " + replace
else:
instead = " Use %s instead." % (replace.__name__,)
def real_decorator(func):
"""Nested because a decorator with a parameter has to be coded this way"""
@functools.wraps(func)
def new_func(*args, **kwargs):
warnings.warn_explicit(
"Call to deprecated function %s.%s" % (func.__name__, instead),
category=DeprecationWarning,
filename=func.func_code.co_filename,
lineno=func.func_code.co_firstlineno + 1
)
return func(*args, **kwargs)
return new_func
return real_decorator
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment