[deprecated] ajout d'un message de DeprecationWarning plus multi-usage

This commit is contained in:
Vincent Le Gallic 2013-05-26 23:11:46 +02:00
parent d6fb41aaf2
commit 4b7f72c6da
2 changed files with 9 additions and 9 deletions

View file

@ -6,6 +6,14 @@ import functools
import inspect import inspect
import sys import sys
def usage(message, level=2):
"""Pour prévenir que ce que tu fais c'est mal et qu'il faut plus le faire comme ça.
``level`` permet de préciser de combien de crans il faut remonter
pour afficher la ligne responsable de l'erreur"""
warnings.resetwarnings()
warnings.warn(message, category=DeprecationWarning, stacklevel=level)
def deprecated(replace=None): def deprecated(replace=None):
'''This is a decorator which can be used to mark functions '''This is a decorator which can be used to mark functions
as deprecated. It will result in a warning being emitted as deprecated. It will result in a warning being emitted
@ -34,12 +42,9 @@ def deprecated(replace=None):
return new_func return new_func
return real_decorator return real_decorator
def module(replace=None): def module(replace=None):
"""À appeler dans un module déprécié""" """À appeler dans un module déprécié"""
warnings.resetwarnings()
# On récupère le nom du module appelant la fonction # On récupère le nom du module appelant la fonction
frm = inspect.stack()[1] frm = inspect.stack()[1]
mod = inspect.getmodule(frm[0]) mod = inspect.getmodule(frm[0])
@ -55,9 +60,5 @@ def module(replace=None):
else: else:
instead = " Use %s instead." % (replace.__name__,) instead = " Use %s instead." % (replace.__name__,)
warnings.warn( usage("Call to deprecated module %s.%s" % (module_name, instead), level=4)
"Call to deprecated module %s.%s" % (module_name, instead),
category=DeprecationWarning,
stacklevel=3
)

View file

@ -25,4 +25,3 @@ def execute(pagename, request):
request.write('OK') request.write('OK')
else: else:
request.write('Wrong') request.write('Wrong')
#request.write('hello world' + str(u))