From owner-svn-ports-all@FreeBSD.ORG Mon Nov 5 21:14:55 2012 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3ECB8AB; Mon, 5 Nov 2012 21:14:55 +0000 (UTC) (envelope-from sbz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 0B77A8FC0A; Mon, 5 Nov 2012 21:14:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qA5LEsn4087133; Mon, 5 Nov 2012 21:14:54 GMT (envelope-from sbz@svn.freebsd.org) Received: (from sbz@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qA5LEsRg087131; Mon, 5 Nov 2012 21:14:54 GMT (envelope-from sbz@svn.freebsd.org) Message-Id: <201211052114.qA5LEsRg087131@svn.freebsd.org> From: Sofian Brabez Date: Mon, 5 Nov 2012 21:14:54 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r307031 - head/Tools/scripts X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Nov 2012 21:14:55 -0000 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)