Index: build/android/pylib/remote/device/appurify_sanitized.py |
diff --git a/build/android/pylib/remote/device/appurify_sanitized.py b/build/android/pylib/remote/device/appurify_sanitized.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9f6ab4054f02fcb2228e9f163613d14202779640 |
--- /dev/null |
+++ b/build/android/pylib/remote/device/appurify_sanitized.py |
@@ -0,0 +1,40 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import contextlib |
+import logging |
+import os |
+import sys |
+ |
+from pylib import constants |
+ |
+sys.path.append(os.path.join( |
+ constants.DIR_SOURCE_ROOT, 'third_party', 'requests', 'src')) |
+sys.path.append(os.path.join( |
+ constants.DIR_SOURCE_ROOT, 'third_party', 'appurify-python', 'src')) |
+handlers_before = list(logging.getLogger().handlers) |
+ |
+import appurify.api |
+import appurify.utils |
+ |
+handlers_after = list(logging.getLogger().handlers) |
+new_handler = list(set(handlers_after) - set(handlers_before)) |
+while new_handler: |
+ logging.info("Removing logging handler.") |
+ logging.getLogger().removeHandler(new_handler.pop()) |
+ |
+api = appurify.api |
+utils = appurify.utils |
+ |
+# This is not thread safe. If multiple threads are ever supported with appurify |
+# this may cause logging messages to go missing. |
+@contextlib.contextmanager |
+def SanitizeLogging(verbose_count, level): |
+ if verbose_count < 2: |
+ logging.disable(level) |
+ yield True |
+ logging.disable(logging.NOTSET) |
+ else: |
+ yield False |
+ |