Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r13913 - main/trunk/pym/_emerge
Date: Wed, 05 Aug 2009 00:09:18
Message-Id: E1MYU4C-0000q4-G6@stork.gentoo.org
1 Author: zmedico
2 Date: 2009-08-05 00:09:15 +0000 (Wed, 05 Aug 2009)
3 New Revision: 13913
4
5 Modified:
6 main/trunk/pym/_emerge/Binpkg.py
7 main/trunk/pym/_emerge/BinpkgVerifier.py
8 main/trunk/pym/_emerge/EbuildBuild.py
9 main/trunk/pym/_emerge/EbuildFetcher.py
10 main/trunk/pym/_emerge/EbuildPhase.py
11 main/trunk/pym/_emerge/PackageUninstall.py
12 main/trunk/pym/_emerge/changelog.py
13 main/trunk/pym/_emerge/depgraph.py
14 main/trunk/pym/_emerge/emergelog.py
15 Log:
16 Open file in text mode (unicode) where appropriate.
17
18
19 Modified: main/trunk/pym/_emerge/Binpkg.py
20 ===================================================================
21 --- main/trunk/pym/_emerge/Binpkg.py 2009-08-04 23:19:45 UTC (rev 13912)
22 +++ main/trunk/pym/_emerge/Binpkg.py 2009-08-05 00:09:15 UTC (rev 13913)
23 @@ -17,6 +17,7 @@
24 import sys
25 sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
26 import portage
27 +import codecs
28 import os
29 from portage.output import colorize
30 class Binpkg(CompositeTask):
31 @@ -35,7 +36,8 @@
32
33 log_path = self.settings.get("PORTAGE_LOG_FILE")
34 if log_path is not None:
35 - f = open(log_path, 'a')
36 + f = codecs.open(log_path, mode='a',
37 + encoding='utf_8', errors='replace')
38 try:
39 f.write(msg)
40 finally:
41 @@ -228,7 +230,8 @@
42 else:
43 continue
44
45 - f = open(os.path.join(infloc, k), 'wb')
46 + f = codecs.open(os.path.join(infloc, k), mode='w',
47 + encoding='utf_8', errors='replace')
48 try:
49 f.write(v + "\n")
50 finally:
51
52 Modified: main/trunk/pym/_emerge/BinpkgVerifier.py
53 ===================================================================
54 --- main/trunk/pym/_emerge/BinpkgVerifier.py 2009-08-04 23:19:45 UTC (rev 13912)
55 +++ main/trunk/pym/_emerge/BinpkgVerifier.py 2009-08-05 00:09:15 UTC (rev 13913)
56 @@ -12,6 +12,7 @@
57 import sys
58 sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
59 import portage
60 +import codecs
61 import os
62 class BinpkgVerifier(AsynchronousTask):
63 __slots__ = ("logfile", "pkg",)
64 @@ -31,7 +32,8 @@
65 stderr_orig = sys.stderr
66 log_file = None
67 if self.background and self.logfile is not None:
68 - log_file = open(self.logfile, 'a')
69 + log_file = codecs.open(self.logfile, mode='a',
70 + encoding='utf_8', errors='replace')
71 try:
72 if log_file is not None:
73 sys.stdout = log_file
74
75 Modified: main/trunk/pym/_emerge/EbuildBuild.py
76 ===================================================================
77 --- main/trunk/pym/_emerge/EbuildBuild.py 2009-08-04 23:19:45 UTC (rev 13912)
78 +++ main/trunk/pym/_emerge/EbuildBuild.py 2009-08-05 00:09:15 UTC (rev 13913)
79 @@ -18,6 +18,7 @@
80 import sys
81 sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
82 import portage
83 +import codecs
84 import os
85 from portage.output import colorize
86 class EbuildBuild(CompositeTask):
87 @@ -187,7 +188,8 @@
88
89 log_path = self.settings.get("PORTAGE_LOG_FILE")
90 if log_path is not None:
91 - log_file = open(log_path, 'a')
92 + log_file = codecs.open(log_path, mode='a',
93 + encoding='utf_8', errors='replace')
94 try:
95 log_file.write(msg)
96 finally:
97
98 Modified: main/trunk/pym/_emerge/EbuildFetcher.py
99 ===================================================================
100 --- main/trunk/pym/_emerge/EbuildFetcher.py 2009-08-04 23:19:45 UTC (rev 13912)
101 +++ main/trunk/pym/_emerge/EbuildFetcher.py 2009-08-05 00:09:15 UTC (rev 13913)
102 @@ -12,6 +12,7 @@
103 import sys
104 sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
105 import portage
106 +import codecs
107 import os
108 from portage.elog.messages import eerror
109 class EbuildFetcher(SpawnProcess):
110 @@ -92,7 +93,8 @@
111 elog_out = None
112 if self.logfile is not None:
113 if self.background:
114 - elog_out = open(self.logfile, 'a')
115 + elog_out = codecs.open(self.logfile, mode='a',
116 + encoding='utf_8', errors='replace')
117 msg = "Fetch failed for '%s'" % (self.pkg.cpv,)
118 if self.logfile is not None:
119 msg += ", Log file:"
120
121 Modified: main/trunk/pym/_emerge/EbuildPhase.py
122 ===================================================================
123 --- main/trunk/pym/_emerge/EbuildPhase.py 2009-08-04 23:19:45 UTC (rev 13912)
124 +++ main/trunk/pym/_emerge/EbuildPhase.py 2009-08-05 00:09:15 UTC (rev 13913)
125 @@ -13,6 +13,7 @@
126 import sys
127 sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
128 import portage
129 +import codecs
130 import os
131 class EbuildPhase(CompositeTask):
132
133 @@ -36,7 +37,8 @@
134 log_path = self.settings.get("PORTAGE_LOG_FILE")
135 log_file = None
136 if self.background and log_path is not None:
137 - log_file = open(log_path, 'a')
138 + log_file = codecs.open(log_path, mode='a',
139 + encoding='utf_8', errors='replace')
140 out = log_file
141 try:
142 portage._check_build_log(self.settings, out=out)
143
144 Modified: main/trunk/pym/_emerge/PackageUninstall.py
145 ===================================================================
146 --- main/trunk/pym/_emerge/PackageUninstall.py 2009-08-04 23:19:45 UTC (rev 13912)
147 +++ main/trunk/pym/_emerge/PackageUninstall.py 2009-08-05 00:09:15 UTC (rev 13913)
148 @@ -2,6 +2,7 @@
149 # Distributed under the terms of the GNU General Public License v2
150 # $Id$
151
152 +import codecs
153 import logging
154 import os
155
156 @@ -47,7 +48,8 @@
157 portage.util.writemsg_level(msg,
158 level=level, noiselevel=noiselevel)
159
160 - f = open(log_path, 'a')
161 + f = codecs.open(log_path, mode='a',
162 + encoding='utf_8', errors='replace')
163 try:
164 f.write(msg)
165 finally:
166
167 Modified: main/trunk/pym/_emerge/changelog.py
168 ===================================================================
169 --- main/trunk/pym/_emerge/changelog.py 2009-08-04 23:19:45 UTC (rev 13912)
170 +++ main/trunk/pym/_emerge/changelog.py 2009-08-05 00:09:15 UTC (rev 13913)
171 @@ -2,6 +2,7 @@
172 # Distributed under the terms of the GNU General Public License v2
173 # $Id$
174
175 +import codecs
176 import os
177 import re
178
179 @@ -24,7 +25,8 @@
180 next = next[:-3]
181 changelogpath = os.path.join(os.path.split(ebuildpath)[0],'ChangeLog')
182 try:
183 - changelog = open(changelogpath).read()
184 + changelog = codecs.open(changelogpath, mode='r',
185 + encoding='utf_8', errors='replace').read()
186 except SystemExit, e:
187 raise # Needed else can't exit
188 except:
189
190 Modified: main/trunk/pym/_emerge/depgraph.py
191 ===================================================================
192 --- main/trunk/pym/_emerge/depgraph.py 2009-08-04 23:19:45 UTC (rev 13912)
193 +++ main/trunk/pym/_emerge/depgraph.py 2009-08-05 00:09:15 UTC (rev 13913)
194 @@ -4354,6 +4354,14 @@
195 if "--changelog" in self._frozen_config.myopts:
196 print
197 for revision,text in changelogs:
198 +
199 + if sys.hexversion < 0x3000000:
200 + # avoid potential UnicodeEncodeError
201 + if isinstance(revision, unicode):
202 + revision = revision.encode('utf_8', 'replace')
203 + if isinstance(text, unicode):
204 + text = text.encode('utf_8', 'replace')
205 +
206 print bold('*'+revision)
207 sys.stdout.write(text)
208
209
210 Modified: main/trunk/pym/_emerge/emergelog.py
211 ===================================================================
212 --- main/trunk/pym/_emerge/emergelog.py 2009-08-04 23:19:45 UTC (rev 13912)
213 +++ main/trunk/pym/_emerge/emergelog.py 2009-08-05 00:09:15 UTC (rev 13913)
214 @@ -2,6 +2,7 @@
215 # Distributed under the terms of the GNU General Public License v2
216 # $Id$
217
218 +import codecs
219 import os
220 import sys
221 import time
222 @@ -24,7 +25,8 @@
223 xtermTitle(short_msg)
224 try:
225 file_path = os.path.join(_emerge_log_dir, 'emerge.log')
226 - mylogfile = open(file_path, "a")
227 + mylogfile = codecs.open(file_path, mode='a',
228 + encoding='utf_8', errors='replace')
229 portage.util.apply_secpass_permissions(file_path,
230 uid=portage.portage_uid, gid=portage.portage_gid,
231 mode=0660)