From 11077ac16f68d49d4fd08817255385f428338d7c Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 6 Aug 2009 09:18:49 +0000 Subject: Add unicode conversions in various logging code. svn path=/main/trunk/; revision=13931 --- pym/_emerge/Scheduler.py | 4 ++++ pym/_emerge/emergelog.py | 7 +++++++ 2 files changed, 11 insertions(+) (limited to 'pym/_emerge') diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 0ad91675f..ec6135d32 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -477,6 +477,10 @@ class Scheduler(PollScheduler): return self._pkg(cpv, type_name, root_config, installed=installed) def _append_to_log_path(self, log_path, msg): + + if not isinstance(msg, unicode): + msg = unicode(msg, encoding='utf_8', errors='replace') + f = codecs.open(log_path, mode='a', encoding='utf_8', errors='replace') try: diff --git a/pym/_emerge/emergelog.py b/pym/_emerge/emergelog.py index 1469f5265..1a26cc9fa 100644 --- a/pym/_emerge/emergelog.py +++ b/pym/_emerge/emergelog.py @@ -19,6 +19,13 @@ from portage.output import xtermTitle _emerge_log_dir = '/var/log' def emergelog(xterm_titles, mystr, short_msg=None): + + if not isinstance(mystr, unicode): + mystr = unicode(mystr, encoding='utf_8', errors='replace') + + if short_msg is not None and not isinstance(short_msg, unicode): + short_msg = unicode(short_msg, encoding='utf_8', errors='replace') + if xterm_titles and short_msg: if "HOSTNAME" in os.environ: short_msg = os.environ["HOSTNAME"]+": "+short_msg -- cgit v1.2.3-1-g7c22