From 7c2a042b5d8d3e97213f46a846ae394b8026fccf Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 31 Jul 2007 20:12:22 +0000 Subject: [PATCH] re-jiggered (yes, thats a technical term) DeprecationWarning into SADeprecationWarning so that we can set the "once" filter across all SQLAlchemy-originating DeprecationWarnings. --- lib/sqlalchemy/logging.py | 4 ++++ lib/sqlalchemy/util.py | 7 +++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/sqlalchemy/logging.py b/lib/sqlalchemy/logging.py index 1e62708293..20a91d8a80 100644 --- a/lib/sqlalchemy/logging.py +++ b/lib/sqlalchemy/logging.py @@ -32,11 +32,15 @@ import sys, warnings logging = __import__('logging') +class SADeprecationWarning(DeprecationWarning): + pass + rootlogger = logging.getLogger('sqlalchemy') rootlogger.setLevel(logging.WARN) def _logwarning(message, category, filename, lineno, file='ignored'): rootlogger.warn(warnings.formatwarning(message, category, filename, lineno)) warnings.showwarning = _logwarning +warnings.filterwarnings("once", category=SADeprecationWarning) default_enabled = False def default_logging(name): diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index 4925caa695..28e5083e95 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -10,7 +10,7 @@ except ImportError: import dummy_thread as thread import dummy_threading as threading -from sqlalchemy import exceptions +from sqlalchemy import exceptions, logging import md5 import sys import warnings @@ -542,12 +542,11 @@ class ScopedRegistry(object): def warn_deprecated(msg): - warnings.warn(msg, category=DeprecationWarning, stacklevel=3) + warnings.warn(logging.SADeprecationWarning(msg), stacklevel=3) def deprecated(func, add_deprecation_to_docstring=True): def func_with_warning(*args, **kwargs): - warnings.warn("Call to deprecated function %s" % func.__name__, - category=DeprecationWarning, + warnings.warn(logging.SADeprecationWarning("Call to deprecated function %s" % func.__name__), stacklevel=2) return func(*args, **kwargs) func_with_warning.__name__ = func.__name__ -- 2.47.3