diff --git a/src/sugar3/graphics/xocolor.py b/src/sugar3/graphics/xocolor.py index 84e93a99..45e23322 100644 --- a/src/sugar3/graphics/xocolor.py +++ b/src/sugar3/graphics/xocolor.py @@ -225,29 +225,23 @@ def _parse_string(color_string): return None -def is_valid(color_string): - return (_parse_string(color_string) != None) - - class XoColor: def __init__(self, color_string=None): - if color_string == None: - randomize = True - elif not is_valid(color_string): - logging.debug('Color string is not valid: %s, ' - 'fallback to default', color_string) + parsed_color = None + + if color_string is None: client = GConf.Client.get_default() color_string = client.get_string('/desktop/sugar/user/color') - randomize = is_valid(color_string) - else: - randomize = False - if randomize: + if color_string is not None: + parsed_color = _parse_string(color_string) + + if parsed_color is None: n = int(random.random() * (len(colors) - 1)) [self.stroke, self.fill] = colors[n] else: - [self.stroke, self.fill] = _parse_string(color_string) + [self.stroke, self.fill] = parsed_color def __cmp__(self, other): if isinstance(other, XoColor):