Fix function-decorator use-case for context.quiet (#714)

This commit is contained in:
Zach Riggle authored and GitHub committed 2016-09-01 16:23:32 -07:00
1 parent 1d924af9d2
commit ae6a0745ff
1 file changed
+15 -4
+15 -4
View File
@@ -525,10 +525,21 @@ class ContextType(object):
def quiet(self, function=None):
"""Disables all non-error logging within the enclosed scope,
*unless* the debugging level is set to 'debug' or lower."""
level = 'error'
if context.log_level <= logging.DEBUG:
level = None
return self.local(function, log_level=level)
if not function:
level = 'error'
if context.log_level <= logging.DEBUG:
level = None
return self.local(function, log_level=level)
@functools.wraps(function)
def wrapper(*a, **kw):
level = 'error'
if context.log_level <= logging.DEBUG:
level = None
with self.local(function, log_level=level):
return function(*a, **kw)
return wrapper
@property
def verbose(self):