Date: Mon, 5 Nov 2012 21:39:56 +0000 From: Olivier Duchateau <duchateau.olivier@gmail.com> To: Sofian Brabez <sbz@freebsd.org> Cc: svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org Subject: Re: svn commit: r307031 - head/Tools/scripts Message-ID: <CAHcdu2qjxDT66wdW9EJ4xgcYiaL8NBKvXegs4UOuMCx_fFUqXg@mail.gmail.com> In-Reply-To: <201211052114.qA5LEsRg087131@svn.freebsd.org> References: <201211052114.qA5LEsRg087131@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
2012/11/5 Sofian Brabez <sbz@freebsd.org>: > Author: sbz > Date: Mon Nov 5 21:14:54 2012 > New Revision: 307031 > URL: http://svnweb.freebsd.org/changeset/ports/307031 > > Log: > - Fix runtime utf-8 problems using codec encoder and system locale > > PR: ports/173195 > Submitted by: rm > Reviewed by: sbz (myself) > Feature safe: yes > > Modified: > head/Tools/scripts/getpatch > > Modified: head/Tools/scripts/getpatch > ============================================================================== > --- head/Tools/scripts/getpatch Mon Nov 5 20:10:03 2012 (r307030) > +++ head/Tools/scripts/getpatch Mon Nov 5 21:14:54 2012 (r307031) > @@ -29,6 +29,8 @@ > # MAINTAINER= sbz@FreeBSD.org > > import argparse > +import codecs > +import locale > import re > import sys > if sys.version_info.major == 3: > @@ -49,6 +51,7 @@ class GetPatch(object): > self.url = str() > self.patch = str() > self.output_stdout = False > + self.default_locale = locale.getdefaultlocale()[1].lower() > > def fetch(self, *largs, **kwargs): > raise NotImplementedError() > @@ -56,8 +59,8 @@ class GetPatch(object): > def write(self, filename, data): > if filename.endswith(('.patch', '.txt')): > filename = filename[:filename.rindex('.')]+'.diff' > - f=open(filename, 'w') > - f.write(data.decode()) > + f=codecs.open(filename, encoding=self.default_locale, mode='w') > + f.write(data.decode(self.default_locale)) > f.close() > self.out("[+] %s created" % filename) > > @@ -79,7 +82,7 @@ class GetPatch(object): > data = urllib2.urlopen(url).read() > > if self.output_stdout: > - sys.stdout.write(data.decode()) > + sys.stdout.write(data.decode(self.default_locale)) > else: > self.write(p, data) > Why not use sys.getfilesystemencoding() ? -- olivier
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHcdu2qjxDT66wdW9EJ4xgcYiaL8NBKvXegs4UOuMCx_fFUqXg>