> Some of my thoughts after reading the PEP and Paul/Guido's exchange. > > - A function in the warn module is better than one in the sys module. > "from warnings import warn" is good enough to not warrant a > built-in. I get the sense that the PEP description is behind > Guido's currently implementation here. Yes. I've updated the PEP to match the (2nd) implementation. > - When PyErr_Warn() returns 1, does that mean a warning has been > transmuted into an exception, or some other exception occurred > during the setting of the warning? (I think I know, but the PEP > could be clearer here). I've clarified this now: it returns 1 in either case. You have to do exception handling in either case. I'm not telling why -- you don't need to know. The caller of PyErr_Warn() should not attempt to catch the exception -- if that's your intent, you shouldn't be calling PyErr_Warn(). And PyErr_Warn() is complicated enough that it has to allow raising an exception. > - It would be nice if lineno can be a range specification. Other > matches are based on regexps -- think of this as a line number > regexp. Too much complexity already. > - Why not do setupwarnings() in site.py? See the PEP and the current implementation. The delayed-loading of the warnings module means that we have to save the -W options as sys.warnoptions. (This also makes them work when multiple interpreters are used -- they all get the -W options.) > - Regexp matching on messages should be case insensitive. Good point! Done in my version of the code. > - The second argument to sys.warn() or PyErr_Warn() can be any class, > right? Almost. It must be derived from __builtin__.Warning. > If so, it's easy for me to have my own warning classes. > What if I want to set up my own warnings filters? Maybe if `action' > could be a callable as well as a string. Then in my IDE, I could > set that to "mygui.popupWarningsDialog". No, for that purpose you would override warnings.showwarning(). --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4