summaryrefslogtreecommitdiffstats
path: root/pym/portage/elog
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/elog')
-rw-r--r--pym/portage/elog/mod_save_summary.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/pym/portage/elog/mod_save_summary.py b/pym/portage/elog/mod_save_summary.py
index f35c71c83..9aeb89fc9 100644
--- a/pym/portage/elog/mod_save_summary.py
+++ b/pym/portage/elog/mod_save_summary.py
@@ -7,6 +7,7 @@ import codecs
import time
from portage import os
from portage import _encodings
+from portage import _unicode_decode
from portage import _unicode_encode
from portage.data import portage_uid, portage_gid
from portage.localization import _
@@ -25,8 +26,13 @@ def process(mysettings, key, logentries, fulltext):
encoding=_encodings['fs'], errors='strict'),
mode='a', encoding=_encodings['content'], errors='backslashreplace')
apply_permissions(elogfilename, mode=060, mask=0)
+ time_str = time.strftime("%Y-%m-%d %H:%M:%S %Z",
+ time.localtime(time.time()))
+ # Avoid potential UnicodeDecodeError later.
+ time_str = _unicode_decode(time_str,
+ encoding=_encodings['content'], errors='replace')
elogfile.write(_(">>> Messages generated by process %(pid)d on %(time)s for package %(pkg)s:\n\n") %
- {"pid": os.getpid(), "time": time.strftime("%Y-%m-%d %H:%M:%S %Z", time.localtime(time.time())), "pkg": key})
+ {"pid": os.getpid(), "time": time_str, "pkg": key})
elogfile.write(fulltext)
elogfile.write("\n")
elogfile.close()