| 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 |