diff options
Diffstat (limited to 'factory/helpers.py')
-rw-r--r-- | factory/helpers.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/factory/helpers.py b/factory/helpers.py index 8f0d161..37b41bf 100644 --- a/factory/helpers.py +++ b/factory/helpers.py @@ -23,11 +23,29 @@ """Simple wrappers around Factory class definition.""" +import contextlib +import logging from . import base from . import declarations +@contextlib.contextmanager +def debug(logger='factory', stream=None): + logger_obj = logging.getLogger(logger) + old_level = logger_obj.level + + handler = logging.StreamHandler(stream) + handler.setLevel(logging.DEBUG) + logger_obj.addHandler(handler) + logger_obj.setLevel(logging.DEBUG) + + yield + + logger_obj.setLevel(old_level) + logger_obj.removeHandler(handler) + + def make_factory(klass, **kwargs): """Create a new, simple factory for the given class.""" factory_name = '%sFactory' % klass.__name__ |