Write log files in text mode (unicode). Thanks to Arfrever for reporting.
authorZac Medico <zmedico@gentoo.org>
Sun, 9 Aug 2009 22:05:24 +0000 (22:05 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 9 Aug 2009 22:05:24 +0000 (22:05 -0000)
svn path=/main/trunk/; revision=13961

pym/portage/elog/mod_save.py
pym/portage/elog/mod_save_summary.py

index 35c4338285a7d9453978a1e89f0f1d5ee666792f..836aea24fcbc9ba412a2d4e70c7be72cc2569b2f 100644 (file)
@@ -3,6 +3,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+import codecs
 import os, time
 from portage.data import portage_uid, portage_gid
 from portage.util import ensure_dirs
@@ -17,7 +18,8 @@ def process(mysettings, key, logentries, fulltext):
        ensure_dirs(elogdir, uid=portage_uid, gid=portage_gid, mode=02770)
 
        elogfilename = elogdir+"/"+path+":"+time.strftime("%Y%m%d-%H%M%S", time.gmtime(time.time()))+".log"
-       elogfile = open(elogfilename, "w")
+       elogfile = codecs.open(elogfilename, mode='w',
+               encoding='utf_8', errors='replace')
        elogfile.write(fulltext)
        elogfile.close()
 
index 0e12ac451850331e2b89ce28d1c719683b8347f0..698eeae09961fc49504ea9c0c97dceb985ba3a9b 100644 (file)
@@ -3,6 +3,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
+import codecs
 import os, time
 from portage.data import portage_uid, portage_gid
 from portage.localization import _
@@ -17,7 +18,8 @@ def process(mysettings, key, logentries, fulltext):
 
        # TODO: Locking
        elogfilename = elogdir+"/summary.log"
-       elogfile = open(elogfilename, "a")
+       elogfile = codecs.open(elogfilename, mode='a',
+               encoding='utf_8', errors='replace')
        apply_permissions(elogfilename, mode=060, mask=0)
        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})