svn commit: r307031 - head/Tools/scripts
Olivier Duchateau
duchateau.olivier at gmail.com
Mon Nov 5 21:39:58 UTC 2012
2012/11/5 Sofian Brabez <sbz at 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 at 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
More information about the svn-ports-head
mailing list