OLD | NEW |
| (Empty) |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | |
2 # Use of this source code is governed by a BSD-style license that can be | |
3 # found in the LICENSE file. | |
4 | |
5 import contextlib | |
6 import logging | |
7 import os | |
8 | |
9 from pylib.constants import host_paths | |
10 | |
11 _REQUESTS_PATH = os.path.join( | |
12 host_paths.DIR_SOURCE_ROOT, 'third_party', 'requests', 'src') | |
13 _APPURIFY_PYTHON_PATH = os.path.join( | |
14 host_paths.DIR_SOURCE_ROOT, 'third_party', 'appurify-python', 'src') | |
15 | |
16 with host_paths.SysPath(_REQUESTS_PATH), ( | |
17 host_paths.SysPath(_APPURIFY_PYTHON_PATH)): | |
18 | |
19 handlers_before = list(logging.getLogger().handlers) | |
20 | |
21 import appurify.api # pylint: disable=import-error | |
22 import appurify.utils # pylint: disable=import-error | |
23 | |
24 handlers_after = list(logging.getLogger().handlers) | |
25 new_handler = list(set(handlers_after) - set(handlers_before)) | |
26 while new_handler: | |
27 logging.info("Removing logging handler.") | |
28 logging.getLogger().removeHandler(new_handler.pop()) | |
29 | |
30 api = appurify.api | |
31 utils = appurify.utils | |
32 | |
33 # This is not thread safe. If multiple threads are ever supported with appurify | |
34 # this may cause logging messages to go missing. | |
35 @contextlib.contextmanager | |
36 def SanitizeLogging(verbose_count, level): | |
37 if verbose_count < 2: | |
38 logging.disable(level) | |
39 yield True | |
40 logging.disable(logging.NOTSET) | |
41 else: | |
42 yield False | |
43 | |
OLD | NEW |