commit df481c6ba04361210da781080c9c53608d762a65 Author: Damian Johnson atagar@torproject.org Date: Sat Feb 15 14:08:53 2014 -0800
Moving flag and version status colors to config
Moving some static configuration data from our source to a new attributes configuration. --- arm/config/attributes.cfg | 25 +++++++++++++++++++++++++ arm/header_panel.py | 37 ++++++------------------------------- arm/util/ui_tools.py | 2 +- 3 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/arm/config/attributes.cfg b/arm/config/attributes.cfg new file mode 100644 index 0000000..340cbdc --- /dev/null +++ b/arm/config/attributes.cfg @@ -0,0 +1,25 @@ +# General configuration data used by arm. + +attr.flag_colors Authority => white +attr.flag_colors BadExit => red +attr.flag_colors BadDirectory => red +attr.flag_colors Exit => cyan +attr.flag_colors Fast => yellow +attr.flag_colors Guard => green +attr.flag_colors HSDir => magenta +attr.flag_colors Named => blue +attr.flag_colors Stable => blue +attr.flag_colors Running => yellow +attr.flag_colors Unnamed => magenta +attr.flag_colors Valid => green +attr.flag_colors V2Dir => cyan +attr.flag_colors V3Dir => white + +attr.version_status_colors new => blue +attr.version_status_colors new in series => blue +attr.version_status_colors obsolete => red +attr.version_status_colors recommended => green +attr.version_status_colors old => red +attr.version_status_colors unrecommended => red +attr.version_status_colors unknown => cyan + diff --git a/arm/header_panel.py b/arm/header_panel.py index 6232da3..de3c5a8 100644 --- a/arm/header_panel.py +++ b/arm/header_panel.py @@ -36,35 +36,10 @@ from util import panel, ui_tools, tor_controller
MIN_DUAL_COL_WIDTH = 141
-FLAG_COLORS = { - "Authority": "white", - "BadExit": "red", - "BadDirectory": "red", - "Exit": "cyan", - "Fast": "yellow", - "Guard": "green", - "HSDir": "magenta", - "Named": "blue", - "Stable": "blue", - "Running": "yellow", - "Unnamed": "magenta", - "Valid": "green", - "V2Dir": "cyan", - "V3Dir": "white", -} - -VERSION_STATUS_COLORS = { - "new": "blue", - "new in series": "blue", - "obsolete": "red", - "recommended": "green", - "old": "red", - "unrecommended": "red", - "unknown": "cyan", -} - -CONFIG = conf.config_dict("arm", { - "features.showFdUsage": False, +CONFIG = conf.config_dict('arm', { + 'attr.flag_colors': {}, + 'attr.version_status_colors': {}, + 'features.showFdUsage': False, })
@@ -238,7 +213,7 @@ class HeaderPanel(panel.Panel, threading.Thread):
if 7 + len(self.vals["tor/version"]) + len(self.vals["tor/versionStatus"]) <= content_space: if self.vals["tor/version"] != "Unknown": - version_color = VERSION_STATUS_COLORS[self.vals["tor/versionStatus"]] if self.vals["tor/versionStatus"] in VERSION_STATUS_COLORS else "white" + version_color = CONFIG['attr.version_status_colors'].get(self.vals["tor/versionStatus"], 'white')
label_prefix = "Tor %s (" % self.vals["tor/version"] self.addstr(0, 43, label_prefix) @@ -380,7 +355,7 @@ class HeaderPanel(panel.Panel, threading.Thread): if len(self.vals["tor/flags"]) > 0: for i in range(len(self.vals["tor/flags"])): flag = self.vals["tor/flags"][i] - flag_color = FLAG_COLORS[flag] if flag in FLAG_COLORS.keys() else "white" + flag_color = CONFIG['attr.flag_colors'].get(flag, 'white')
self.addstr(y, x, flag, curses.A_BOLD | ui_tools.get_color(flag_color)) x += len(flag) diff --git a/arm/util/ui_tools.py b/arm/util/ui_tools.py index 9e4a622..2b24b83 100644 --- a/arm/util/ui_tools.py +++ b/arm/util/ui_tools.py @@ -129,7 +129,7 @@ def _color_attr(): if not CONFIG['features.colorInterface']: COLOR_ATTR = DEFAULT_COLOR_ATTR elif curses.has_colors(): - color_attr = dict([(color, 0) for color in COLOR_LIST]) + color_attr = dict(DEFAULT_COLOR_ATTR)
for color_pair, color_name in enumerate(COLOR_LIST): foreground_color = COLOR_LIST[color_name]
tor-commits@lists.torproject.org