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