Menu

#84 Warnings are reset when in debug mode

2.1.2
closed
nobody
core
defect
normal
core
2.1.0
2011-07-21
2011-03-29
No

When in debug mode, configuration.py does the following on line 201:

if asbool(config['debug']):
warnings.simplefilter("ignore")
config['pylons.strict_c'] = True
warnings.resetwarnings()
config['pylons.stritmpl_contextt_tmpl_context'] = True

This causes all previously configured warning filters to be lost. A better way to temporarily catch all warnings is the following:

if asbool(config['debug']):
filters = warnings.filters[:]
warnings.simplefilter("ignore")
config['pylons.strict_c'] = True
warnings.filters = filters
config['pylons.stritmpl_contextt_tmpl_context'] = True

This approach is used by foreach.py in FormEncode, for example.

Discussion