OLD | NEW |
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 Loading... |
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 Loading... |
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() |
OLD | NEW |