diff options
author | Jonathan Ellis <jbellis@gmail.com> | 2007-07-30 23:38:27 +0000 |
---|---|---|
committer | Jonathan Ellis <jbellis@gmail.com> | 2007-07-30 23:38:27 +0000 |
commit | b3c1b32fac892b6ac676eebaa2dba684709bf410 (patch) | |
tree | 8f776ea42934998adcba606f3ad0920fca13314f /lib/sqlalchemy/util.py | |
parent | 030554d41b5ce16c692b037f5ee20320431cc202 (diff) | |
download | sqlalchemy-b3c1b32fac892b6ac676eebaa2dba684709bf410.tar.gz |
add warnings for deprecated methods and options
Diffstat (limited to 'lib/sqlalchemy/util.py')
-rw-r--r-- | lib/sqlalchemy/util.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index e711de3a3..c9c20ef45 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -539,3 +539,26 @@ class ScopedRegistry(object): def _get_key(self): return self.scopefunc() + + +_warned = Set() + +def warn_deprecated(msg): + if msg in _warned: + return + _warned.add(msg) + warnings.warn(msg, category=DeprecationWarning, stacklevel=3) + +def deprecated(func, add_deprecation_to_docstring=True): + def func_with_warning(*args, **kwargs): + if func in _warned: + return func(*args, **kwargs) + _warned.add(func) + warnings.warn("Call to deprecated function %s" % func.__name__, + category=DeprecationWarning, + stacklevel=2) + return func(*args, **kwargs) + func_with_warning.__name__ = func.__name__ + func_with_warning.__doc__ = (add_deprecation_to_docstring and 'Deprecated.\n' or '') + func.__doc__ + func_with_warning.__dict__.update(func.__dict__) + return func_with_warning |