Brett Cannon
6c4cff0f32
Require implementations for warnings.showwarning() support the 'line' argument.
...
Was a DeprecationWarning for not supporting it since Python 2.6.
Closes issue #3652 .
2009-03-11 04:51:06 +00:00
Nick Coghlan
d2e0938362
Issue #3781 : Final cleanup of warnings.catch_warnings and its usage in the test suite. Closes issue w.r.t. 2.6 (R: Brett Cannon)
2008-09-11 12:11:06 +00:00
Brett Cannon
672237dc6c
warnings.catch_warnings() now returns a list or None instead of the custom
...
WarningsRecorder object. This makes the API simpler to use as no special object
must be learned.
Closes issue 3781.
Review by Benjamin Peterson.
2008-09-09 00:49:16 +00:00
Brett Cannon
32476fc5a8
Deprecate bsddb for removal in Python 3.0.
...
Closes issue 3776.
Review by Nick Coghlan.
2008-09-05 18:33:51 +00:00
Brett Cannon
1eaf0742d8
Move test.test_support.catch_warning() to the warnings module, rename it
...
catch_warnings(), and clean up the API.
While expanding the test suite, a bug was found where a warning about the
'line' argument to showwarning() was not letting functions with '*args' go
without a warning.
Closes issue 3602.
Code review by Benjamin Peterson.
2008-09-02 01:25:16 +00:00
Brett Cannon
dea1b5653f
warnings.warn_explicit() did not have the proper TypeErrors in place to prevent
...
bus errors or SystemError being raised. As a side effect of fixing this, a bad
DECREF that could be triggered when 'message' and 'category' were both None was
fixed.
Closes issue 3211. Thanks JP Calderone for the bug report.
2008-06-27 00:31:13 +00:00
Benjamin Peterson
2e6407d813
Practice EAFP, and revert 62787
2008-05-07 23:11:54 +00:00
Benjamin Peterson
323c40d48c
Make the Python implementation of warnings compatible with the C implementation regarding non-callable showwarning
2008-05-06 22:31:52 +00:00
Brett Cannon
9c19bc6247
Remove the use of 'inspect' from 'warnings' for detected deprecated use of the
...
showwarning API. Turns out 'inspect' uses 'operator' which is an extension
module. That's a problem when it has not been built yet by setup.py.
2008-05-05 16:57:38 +00:00
Brett Cannon
8a232cc385
Add a DeprecationWarning for when warnings.showwarning() is set to a function
...
that lacks support for the new 'line' argument.
2008-05-05 05:32:07 +00:00
Brett Cannon
e974689038
Re-implement the 'warnings' module in C. This allows for usage of the
...
'warnings' code in places where it was previously not possible (e.g., the
parser). It could also potentially lead to a speed-up in interpreter start-up
if the C version of the code (_warnings) is imported over the use of the
Python version in key places.
Closes issue #1631171 .
2008-04-12 23:44:07 +00:00
Christian Heimes
28104c58d2
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.
2007-11-27 23:16:44 +00:00
Nick Coghlan
b6983bbe15
Ignore ImportWarning by default
2006-07-06 13:35:27 +00:00
Brett Cannon
53ab5b761d
'warning's was improperly requiring that a command-line Warning category be
...
both a subclass of Warning and a subclass of types.ClassType. The latter is no
longer true thanks to new-style exceptions.
Closes bug #1510580 . Thanks to AMK for the test.
2006-06-22 16:49:14 +00:00
Georg Brandl
b2afe855e5
Make use of new str.startswith/endswith semantics.
...
Occurences in email and compiler were ignored due to backwards compat requirements.
2006-06-09 20:43:48 +00:00
Richard Jones
7b9558d37d
Conversion of exceptions over from faked-up classes to new-style C types.
2006-05-27 12:29:24 +00:00
Phillip J. Eby
4703211080
Updated the warnings, linecache, inspect, traceback, site, and doctest modules
...
to work correctly with modules imported from zipfiles or via other PEP 302
__loader__ objects. Tests and doc updates are included.
2006-04-11 01:07:43 +00:00
Brett Cannon
bf36409e2a
PEP 352 implementation. Creates a new base class, BaseException, which has an
...
added message attribute compared to the previous version of Exception. It is
also a new-style class, making all exceptions now new-style. KeyboardInterrupt
and SystemExit inherit from BaseException directly. String exceptions now
raise DeprecationWarning.
Applies patch 1104669, and closes bugs 1012952 and 518846.
2006-03-01 04:25:17 +00:00
Georg Brandl
4edd989eaf
Bug #1403410 : The warnings module now doesn't get confused
...
when it can't find out the module name it generates a warning for.
2006-01-13 16:59:46 +00:00
Georg Brandl
12fe9b4ce4
bug [ 839151 ] attempt to access sys.argv when it doesn't exist
2005-06-26 22:53:29 +00:00
Raymond Hettinger
dbecd93b72
Replace list of constants with tuples of constants.
2005-02-06 06:57:08 +00:00
Walter Dörwald
6cea693362
Fix wrong variable name.
2004-12-29 15:28:09 +00:00
Tim Peters
c885443479
Stop producing or using OverflowWarning. PEP 237 thought this would
...
happen in 2.3, but nobody noticed it still was getting generated (the
warning was disabled by default). OverflowWarning and
PyExc_OverflowWarning should be removed for 2.5, and left notes all over
saying so.
2004-08-25 02:14:08 +00:00
Tim Peters
6602520473
SF bug 917108: warnings.py does not define _test().
...
Removed the entire __name__ == '__main__' block.
2004-03-21 17:06:20 +00:00
Walter Dörwald
70a6b49821
Replace backticks with repr() or "%r"
...
From SF patch #852334 .
2004-02-12 17:35:32 +00:00
Jeremy Hylton
8501466c7f
Change warnings to avoid importing re module during startup.
...
Add API function simplefilter() that does not create or install
regular expressions to match message or module. Extend the filters
data structure to store None as an alternative to re.compile("").
Move the _test() function to test_warnings and add some code to try
and avoid disturbing the global state of the warnings module.
2003-07-11 15:37:59 +00:00
Skip Montanaro
d8f21203b0
defer re module imports to help improve interpreter startup
2003-05-14 17:33:53 +00:00
Mark Hammond
a43fd0c899
Fix bug 683658 - PyErr_Warn may cause import deadlock.
2003-02-19 00:33:33 +00:00
Martin v. Löwis
ff9284bc2e
Allow Unicode strings as message and module name.
2002-10-14 21:06:02 +00:00
Mark Hammond
51a0ae3f97
Ignore IOError exceptions when writing the message.
2002-09-11 13:22:35 +00:00
Walter Dörwald
65230a2de7
Remove uses of the string and types modules:
...
x in string.whitespace => x.isspace()
type(x) in types.StringTypes => isinstance(x, basestring)
isinstance(x, types.StringTypes) => isinstance(x, basestring)
type(x) is types.StringType => isinstance(x, str)
type(x) == types.StringType => isinstance(x, str)
string.split(x, ...) => x.split(...)
string.join(x, y) => y.join(x)
string.zfill(x, ...) => x.zfill(...)
string.count(x, ...) => x.count(...)
hasattr(types, "UnicodeType") => try: unicode except NameError:
type(x) != types.TupleTuple => not isinstance(x, tuple)
isinstance(x, types.TupleType) => isinstance(x, tuple)
type(x) is types.IntType => isinstance(x, int)
Do not mention the string module in the rlcompleter docstring.
This partially applies SF patch http://www.python.org/sf/562373
(with basestring instead of string). (It excludes the changes to
unittest.py and does not change the os.stat stuff.)
2002-06-03 15:58:32 +00:00
Raymond Hettinger
54f0222547
SF 563203. Replaced 'has_key()' with 'in'.
2002-06-01 14:18:47 +00:00
Neal Norwitz
d68f5171eb
As discussed on python-dev, add a mechanism to indicate features
...
that are in the process of deprecation (PendingDeprecationWarning).
Docs could be improved.
2002-05-29 15:54:55 +00:00
Tim Peters
d0cc4f0b49
resetwarnings(): Remove extra space from docstring guts.
2002-04-16 01:51:25 +00:00
Tim Peters
863ac44b74
Whitespace normalization.
2002-04-16 01:38:40 +00:00
Tim Peters
c86c1b88f9
resetwarnings(): change the docstring to reflect what the code
...
actually does. Note that the description in the Library Reference
manual is already accurate.
Bugfix candidate.
2002-04-16 01:33:59 +00:00
Walter Dörwald
b25c2b0a4a
[Apply SF patch #504943 ]
...
This patch makes it possible to pass Warning instances as the first
argument to warnings.warn. In this case the category argument
will be ignored. The message text used will be str(warninginstance).
2002-03-21 10:38:40 +00:00
Guido van Rossum
8031bbec4a
Allow for the possibility that globals['__name__'] does not exist;
...
substitute "<string>" for the module name in that case. This actually
occurred when running test_descr.py with -Dwarn.
2001-08-31 17:46:35 +00:00
Guido van Rossum
acc21d8814
Ignore OverflowWarning by default. To enable the warning, use
...
python -Wdefault
or
python -Wdefault::OverflowWarning
2001-08-23 03:07:42 +00:00
Skip Montanaro
40fc16059f
final round of __all__ lists (I hope) - skipped urllib2 because Moshe may be
...
giving it a slight facelift
2001-03-01 04:27:19 +00:00
Guido van Rossum
3756fa3e11
Move a comment around to where it belongs (the code had alrady been
...
moved).
2001-02-28 22:26:36 +00:00
Guido van Rossum
9e26318975
Add a new API:
...
warn_explicit(message, category, filename, lineno, module, registry)
The regular warn() call calculates a bunch of values and calls
warn_explicit() with these.
This will be used to issue better syntax warnings.
2001-02-28 21:43:40 +00:00
Tim Peters
e119006e7d
Whitespace normalization. Top level of Lib now fixed-point for reindent.py!
2001-01-15 03:34:38 +00:00
Guido van Rossum
9464a7de60
- Added keyword argument 'append' to filterwarnings(); if true, this
...
appends to list of filters instead of inserting at the front. This
is useful to add a filter with a lower priority than -W options.
- Cosmetic improvements to a docstring and an error message.
2001-01-14 14:08:40 +00:00
Guido van Rossum
d1db30b7b5
Improve error messages for invalid warning arguments; don't raise
...
exceptions but always print a warning message.
2000-12-19 03:04:50 +00:00
Guido van Rossum
2a862c614d
Python part of the warnings subsystem.
2000-12-15 21:59:53 +00:00