From d2535aa9cfdd7e09442f942f646a48dac08966c0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 25 Oct 2015 20:43:43 +0530 Subject: [PATCH] Allow easily silencing the server log during tests --- src/calibre/srv/tests/base.py | 1 + src/calibre/utils/logging.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/calibre/srv/tests/base.py b/src/calibre/srv/tests/base.py index 6b380fe686..622016118b 100644 --- a/src/calibre/srv/tests/base.py +++ b/src/calibre/srv/tests/base.py @@ -86,6 +86,7 @@ class TestServer(Thread): log=ServerLog(level=ServerLog.WARN), ) self.log = self.loop.log + self.silence_log = self.log specialize(self) def setup_defaults(self, kwargs): diff --git a/src/calibre/utils/logging.py b/src/calibre/utils/logging.py index 4f85744911..045ff251f5 100644 --- a/src/calibre/utils/logging.py +++ b/src/calibre/utils/logging.py @@ -159,6 +159,13 @@ class Log(object): def __call__(self, *args, **kwargs): self.prints(INFO, *args, **kwargs) + def __enter__(self): + self.orig_filter_level = self.filter_level + self.filter_level = self.ERROR + 100 + + def __exit__(self, *args): + self.filter_level = self.orig_filter_level + class DevNull(Log): def __init__(self):