Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(898)

Side by Side Diff: grit/tool/resize.py

Issue 9965022: Allow substitution of messages as variables in other messages. (Closed) Base URL: https://grit-i18n.googlecode.com/svn/trunk
Patch Set: Fix unit tests for policy writers. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « grit/tool/build.py ('k') | grit/tool/transl2tc.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 '''The 'grit resize' tool. 6 '''The 'grit resize' tool.
7 ''' 7 '''
8 8
9 import getopt 9 import getopt
10 import os 10 import os
11 import types 11 import types
12 12
13 from grit.tool import interface 13 from grit.tool import interface
14 from grit.tool import build
15 from grit import grd_reader 14 from grit import grd_reader
16 from grit import pseudo 15 from grit import pseudo
17 from grit import util 16 from grit import util
18 17
19 from grit.node import include 18 from grit.node import include
20 from grit.node import structure 19 from grit.node import structure
21 from grit.node import message 20 from grit.node import message
22 21
23 from grit.format import rc_header 22 from grit.format import rc_header
24 23
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 own_opts, args = getopt.getopt(args, 'l:f:c:D:') 205 own_opts, args = getopt.getopt(args, 'l:f:c:D:')
207 for key, val in own_opts: 206 for key, val in own_opts:
208 if key == '-l': 207 if key == '-l':
209 self.SetLanguage(val) 208 self.SetLanguage(val)
210 if key == '-f': 209 if key == '-f':
211 self.base_folder = val 210 self.base_folder = val
212 if key == '-c': 211 if key == '-c':
213 self.codepage_number = int(val) 212 self.codepage_number = int(val)
214 self.codepage_number_specified_explicitly = True 213 self.codepage_number_specified_explicitly = True
215 if key == '-D': 214 if key == '-D':
216 name, val = build.ParseDefine(val) 215 name, val = util.ParseDefine(val)
217 self.defines[name] = val 216 self.defines[name] = val
218 217
219 res_tree = grd_reader.Parse(opts.input, debug=opts.extra_verbose) 218 res_tree = grd_reader.Parse(opts.input, debug=opts.extra_verbose)
220 res_tree.OnlyTheseTranslations([self.lang]) 219 res_tree.OnlyTheseTranslations([self.lang])
221 res_tree.RunGatherers(True) 220 res_tree.RunGatherers(True)
222 221
223 # Dialog IDs are either explicitly listed, or we output all dialogs from the 222 # Dialog IDs are either explicitly listed, or we output all dialogs from the
224 # .grd file 223 # .grd file
225 dialog_ids = args 224 dialog_ids = args
226 if not len(dialog_ids): 225 if not len(dialog_ids):
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 dialogs.append(formatter.Format(node, self.lang)) 281 dialogs.append(formatter.Format(node, self.lang))
283 rc_text = rc_text.replace('[[DIALOGS]]', ''.join(dialogs)) 282 rc_text = rc_text.replace('[[DIALOGS]]', ''.join(dialogs))
284 283
285 fname = os.path.join(dir_path, '%s.rc' % project_name) 284 fname = os.path.join(dir_path, '%s.rc' % project_name)
286 self.WriteFile(fname, rc_text, self.GetEncoding()) 285 self.WriteFile(fname, rc_text, self.GetEncoding())
287 print "Wrote %s" % fname 286 print "Wrote %s" % fname
288 287
289 # Create the resource.h file 288 # Create the resource.h file
290 header_defines = [] 289 header_defines = []
291 for node in grd: 290 for node in grd:
292 formatter = node.ItemFormatter('rc_header') 291 !formatter = node.ItemFormatter('rc_header')
293 if formatter and not isinstance(formatter, rc_header.TopLevel): 292 if formatter and not isinstance(formatter, rc_header.TopLevel):
294 header_defines.append(formatter.Format(node, self.lang)) 293 header_defines.append(formatter.Format(node, self.lang))
295 header_text = HEADER_TEMPLATE.replace('[[DEFINES]]', ''.join(header_defines) ) 294 header_text = HEADER_TEMPLATE.replace('[[DEFINES]]', ''.join(header_defines) )
296 fname = os.path.join(dir_path, 'resource.h') 295 fname = os.path.join(dir_path, 'resource.h')
297 self.WriteFile(fname, header_text) 296 self.WriteFile(fname, header_text)
298 print "Wrote %s" % fname 297 print "Wrote %s" % fname
299 298
300 def WriteFile(self, filename, contents, encoding='cp1252'): 299 def WriteFile(self, filename, contents, encoding='cp1252'):
301 f = util.WrapOutputStream(file(filename, 'wb'), encoding) 300 f = util.WrapOutputStream(file(filename, 'wb'), encoding)
302 f.write(contents) 301 f.write(contents)
303 f.close() 302 f.close()
OLDNEW
« no previous file with comments | « grit/tool/build.py ('k') | grit/tool/transl2tc.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698