2.0 refactoring:
* Add type for most of functions
* Remove old fio run code, move to RPC/pluggable
* Remove most of sensors code, will move then to RPC
* Other refactoring
diff --git a/wally/config.py b/wally/config.py
index 332dc5e..c5d1db0 100644
--- a/wally/config.py
+++ b/wally/config.py
@@ -1,6 +1,5 @@
import os
import uuid
-import logging
import functools
import yaml
@@ -11,19 +10,26 @@
def pet_generate(x, y):
return str(uuid.uuid4())
-import pretty_yaml
+from . import pretty_yaml
-class NoData(object):
+class NoData:
@classmethod
def get(cls, name, x):
return cls
-class Config(object):
+class Config:
def __init__(self, val=None):
if val is not None:
self.update(val)
+ self.results_dir = None
+ self.run_uuid = None
+ self.settings = {}
+ self.run_params_file = None
+ self.default_test_local_folder = None
+ self.hwinfo_directory = None
+ self.hwreport_fname = None
def get(self, name, defval=None):
obj = self.__dict__
@@ -65,7 +71,6 @@
file_name = os.path.abspath(file_name)
defaults = dict(
- sensors_remote_path='/tmp/sensors',
testnode_log_root='/tmp/wally',
settings={}
)
@@ -85,7 +90,6 @@
cfg.update(raw_cfg)
results_storage = cfg.settings.get('results_storage', '/tmp')
- print results_storage
results_storage = os.path.abspath(results_storage)
existing = file_name.startswith(results_storage)
@@ -135,84 +139,3 @@
return dict(run_uuid=dt['run_uuid'],
comment=dt.get('comment'))
-
-
-def color_me(color):
- RESET_SEQ = "\033[0m"
- COLOR_SEQ = "\033[1;%dm"
-
- color_seq = COLOR_SEQ % (30 + color)
-
- def closure(msg):
- return color_seq + msg + RESET_SEQ
- return closure
-
-
-class ColoredFormatter(logging.Formatter):
- BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8)
-
- colors = {
- 'WARNING': color_me(YELLOW),
- 'DEBUG': color_me(BLUE),
- 'CRITICAL': color_me(YELLOW),
- 'ERROR': color_me(RED)
- }
-
- def __init__(self, msg, use_color=True, datefmt=None):
- logging.Formatter.__init__(self, msg, datefmt=datefmt)
- self.use_color = use_color
-
- def format(self, record):
- orig = record.__dict__
- record.__dict__ = record.__dict__.copy()
- levelname = record.levelname
-
- prn_name = levelname + ' ' * (8 - len(levelname))
- if levelname in self.colors:
- record.levelname = self.colors[levelname](prn_name)
- else:
- record.levelname = prn_name
-
- # super doesn't work here in 2.6 O_o
- res = logging.Formatter.format(self, record)
-
- # res = super(ColoredFormatter, self).format(record)
-
- # restore record, as it will be used by other formatters
- record.__dict__ = orig
- return res
-
-
-def setup_loggers(def_level=logging.DEBUG, log_fname=None):
- logger = logging.getLogger('wally')
- logger.setLevel(logging.DEBUG)
- sh = logging.StreamHandler()
- sh.setLevel(def_level)
-
- log_format = '%(asctime)s - %(levelname)s - %(name)-15s - %(message)s'
- colored_formatter = ColoredFormatter(log_format, datefmt="%H:%M:%S")
-
- sh.setFormatter(colored_formatter)
- logger.addHandler(sh)
-
- logger_api = logging.getLogger("wally.fuel_api")
-
- if log_fname is not None:
- fh = logging.FileHandler(log_fname)
- log_format = '%(asctime)s - %(levelname)8s - %(name)-15s - %(message)s'
- formatter = logging.Formatter(log_format, datefmt="%H:%M:%S")
- fh.setFormatter(formatter)
- fh.setLevel(logging.DEBUG)
- logger.addHandler(fh)
- logger_api.addHandler(fh)
- else:
- fh = None
-
- logger_api.addHandler(sh)
- logger_api.setLevel(logging.WARNING)
-
- logger = logging.getLogger('paramiko')
- logger.setLevel(logging.WARNING)
- # logger.addHandler(sh)
- if fh is not None:
- logger.addHandler(fh)