summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2007-11-27 23:16:44 (GMT)
committerChristian Heimes <christian@cheimes.de>2007-11-27 23:16:44 (GMT)
commit28104c58d2457e2b74245a49e703d020cc2489df (patch)
tree32607b7c0a2319ecff83e9ade5613a37d65a18d7 /Lib
parent715ec1818de43836cffea50d5f4b5e53fc68a849 (diff)
downloadcpython-28104c58d2457e2b74245a49e703d020cc2489df.zip
cpython-28104c58d2457e2b74245a49e703d020cc2489df.tar.gz
cpython-28104c58d2457e2b74245a49e703d020cc2489df.tar.bz2
Expose Py_Py3kWarningFlag as sys.py3kwarning as discussed in #1504
Also added a warning.warnpy3k() as convenient method for Python 3.x related deprecation warnings.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/new.py6
-rw-r--r--Lib/warnings.py10
2 files changed, 13 insertions, 3 deletions
diff --git a/Lib/new.py b/Lib/new.py
index a3298b6..1a5c11f 100644
--- a/Lib/new.py
+++ b/Lib/new.py
@@ -3,9 +3,9 @@
This module is no longer required except for backward compatibility.
Objects of most types can now be created by calling the type object.
"""
-from warnings import warn as _warn
-_warn("The 'new' module is not supported in 3.x, use the 'types' module "
- "instead.", DeprecationWarning, 2)
+from warnings import warnpy3k as _warnpy3k
+_warnpy3k("The 'new' module is not supported in 3.x, use the 'types' module "
+ "instead.", stacklevel=2)
from types import ClassType as classobj
from types import FunctionType as function
diff --git a/Lib/warnings.py b/Lib/warnings.py
index b7fac69..970d0ff 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -125,6 +125,16 @@ def warn_explicit(message, category, filename, lineno,
# Print message and context
showwarning(message, category, filename, lineno)
+def warnpy3k(message, category=None, stacklevel=1):
+ """Issue a deprecation warning for Python 3.x related changes.
+
+ Warnings are omitted unless Python is started with the -3 option.
+ """
+ if sys.py3kwarning:
+ if category is None:
+ category = DeprecationWarning
+ warn(message, category, stacklevel+1)
+
def showwarning(message, category, filename, lineno, file=None):
"""Hook to write a warning to a file; replace if you like."""
if file is None: