mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
36 lines
913 B
Python
36 lines
913 B
Python
import logging
|
|
from mock import patch
|
|
import dvc.logger as logger
|
|
|
|
|
|
class MockLoggerHandlers(object):
|
|
def __init__(self, l, num=2):
|
|
self._logger = l
|
|
self._handlers = l.handlers
|
|
self._num = num
|
|
|
|
def __enter__(self):
|
|
self._logger.handlers = [
|
|
logging.FileHandler("tmp{}.log".format(i))
|
|
for i in range(self._num)
|
|
]
|
|
return self
|
|
|
|
def __exit__(self, exc_type=None, exc_val=None, exc_tb=None):
|
|
for h in self._logger.handlers:
|
|
h.close()
|
|
self._logger.handlers = self._handlers
|
|
|
|
|
|
class ConsoleFontColorsRemover(object):
|
|
def __init__(self):
|
|
self.color_patch = patch.object(
|
|
logger, "colorize", new=lambda x, color="": x
|
|
)
|
|
|
|
def __enter__(self):
|
|
self.color_patch.start()
|
|
|
|
def __exit__(self, exc_type=None, exc_val=None, exc_tb=None):
|
|
self.color_patch.stop()
|