From: Zac Medico Date: Sat, 19 Jul 2008 10:28:09 +0000 (-0000) Subject: Fix JobStatusDisplay._init_term() to supply default codes in cases when X-Git-Tag: v2.2_rc2~33 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=371456450e7b3ef9aa455977168bded61db32f91;p=portage.git Fix JobStatusDisplay._init_term() to supply default codes in cases when curses.tigetstr() returns None. svn path=/main/trunk/; revision=11136 --- diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 76a279711..fdc257b30 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -8422,9 +8422,7 @@ class JobStatusDisplay(object): isatty = hasattr(out, "isatty") and out.isatty() object.__setattr__(self, "_isatty", isatty) - if isatty: - self._init_term() - else: + if not isatty or not self._init_term(): term_codes = {} for k, capname in self._termcap_name_map.iteritems(): term_codes[k] = self._default_term_codes[capname] @@ -8433,6 +8431,9 @@ class JobStatusDisplay(object): def _init_term(self): """ Initialize term control codes. + @rtype: bool + @returns: True if term codes were successfully initialized, + False otherwise. """ term_type = os.environ.get("TERM", "vt100") @@ -8449,13 +8450,16 @@ class JobStatusDisplay(object): pass if tigetstr is None: - def tigetstr(capname): - return self._default_term_codes[capname] + return False term_codes = {} for k, capname in self._termcap_name_map.iteritems(): - term_codes[k] = tigetstr(capname) + code = tigetstr(capname) + if code is None: + code = self._default_term_codes[capname] + term_codes[k] = code object.__setattr__(self, "_term_codes", term_codes) + return True def _format_msg(self, msg): return ">>> %s" % msg