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 <structure> element. | 6 '''The <structure> element. |
7 ''' | 7 ''' |
8 | 8 |
9 import os | 9 import os |
10 | 10 |
11 from grit.node import base | 11 from grit.node import base |
12 from grit.node import variant | 12 from grit.node import variant |
13 | 13 |
14 from grit import constants | 14 from grit import constants |
15 from grit import exception | 15 from grit import exception |
16 from grit import util | 16 from grit import util |
17 | 17 |
18 import grit.gather.admin_template | 18 import grit.gather.admin_template |
19 import grit.gather.chrome_html | |
19 import grit.gather.igoogle_strings | 20 import grit.gather.igoogle_strings |
20 import grit.gather.muppet_strings | 21 import grit.gather.muppet_strings |
21 import grit.gather.policy_json | 22 import grit.gather.policy_json |
22 import grit.gather.rc | 23 import grit.gather.rc |
23 import grit.gather.tr_html | 24 import grit.gather.tr_html |
24 import grit.gather.txt | 25 import grit.gather.txt |
25 | 26 |
26 import grit.format.rc | 27 import grit.format.rc |
27 import grit.format.rc_header | 28 import grit.format.rc_header |
28 | 29 |
29 # Type of the gatherer to use for each type attribute | 30 # Type of the gatherer to use for each type attribute |
30 _GATHERERS = { | 31 _GATHERERS = { |
31 'accelerators' : grit.gather.rc.Accelerators, | 32 'accelerators' : grit.gather.rc.Accelerators, |
32 'admin_template' : grit.gather.admin_template.AdmGatherer, | 33 'admin_template' : grit.gather.admin_template.AdmGatherer, |
34 'chrome_html' : grit.gather.chrome_html.ChromeHtml, | |
33 'dialog' : grit.gather.rc.Dialog, | 35 'dialog' : grit.gather.rc.Dialog, |
34 'igoogle' : grit.gather.igoogle_strings.IgoogleStrings, | 36 'igoogle' : grit.gather.igoogle_strings.IgoogleStrings, |
35 'menu' : grit.gather.rc.Menu, | 37 'menu' : grit.gather.rc.Menu, |
36 'muppet' : grit.gather.muppet_strings.MuppetStrings, | 38 'muppet' : grit.gather.muppet_strings.MuppetStrings, |
37 'rcdata' : grit.gather.rc.RCData, | 39 'rcdata' : grit.gather.rc.RCData, |
38 'tr_html' : grit.gather.tr_html.TrHtml, | 40 'tr_html' : grit.gather.tr_html.TrHtml, |
39 'txt' : grit.gather.txt.TxtFile, | 41 'txt' : grit.gather.txt.TxtFile, |
40 'version' : grit.gather.rc.Version, | 42 'version' : grit.gather.rc.Version, |
41 'policy_template_metafile' : grit.gather.policy_json.PolicyJson, | 43 'policy_template_metafile' : grit.gather.policy_json.PolicyJson, |
42 } | 44 } |
43 | 45 |
44 | 46 |
45 # Formatter instance to use for each type attribute | 47 # Formatter instance to use for each type attribute |
46 # when formatting .rc files. | 48 # when formatting .rc files. |
47 _RC_FORMATTERS = { | 49 _RC_FORMATTERS = { |
48 'accelerators' : grit.format.rc.RcSection(), | 50 'accelerators' : grit.format.rc.RcSection(), |
49 'admin_template' : grit.format.rc.RcInclude('ADM'), | 51 'admin_template' : grit.format.rc.RcInclude('ADM'), |
52 'chrome_html' : grit.format.rc.RcInclude('HTML'), | |
50 'dialog' : grit.format.rc.RcSection(), | 53 'dialog' : grit.format.rc.RcSection(), |
51 'igoogle' : grit.format.rc.RcInclude('XML'), | 54 'igoogle' : grit.format.rc.RcInclude('XML'), |
52 'menu' : grit.format.rc.RcSection(), | 55 'menu' : grit.format.rc.RcSection(), |
53 'muppet' : grit.format.rc.RcInclude('XML'), | 56 'muppet' : grit.format.rc.RcInclude('XML'), |
54 'rcdata' : grit.format.rc.RcSection(), | 57 'rcdata' : grit.format.rc.RcSection(), |
55 'tr_html' : grit.format.rc.RcInclude('HTML'), | 58 'tr_html' : grit.format.rc.RcInclude('HTML'), |
56 'txt' : grit.format.rc.RcInclude('TXT'), | 59 'txt' : grit.format.rc.RcInclude('TXT'), |
57 'version' : grit.format.rc.RcSection(), | 60 'version' : grit.format.rc.RcSection(), |
58 'policy_template_metafile': None, | 61 'policy_template_metafile': None, |
59 } | 62 } |
(...skipping 19 matching lines...) Expand all Loading... | |
79 | 82 |
80 def DefaultAttributes(self): | 83 def DefaultAttributes(self): |
81 return { 'encoding' : 'cp1252', | 84 return { 'encoding' : 'cp1252', |
82 'exclude_from_rc' : 'false', | 85 'exclude_from_rc' : 'false', |
83 'line_end' : 'unix', | 86 'line_end' : 'unix', |
84 'output_encoding' : 'utf-8', | 87 'output_encoding' : 'utf-8', |
85 'generateid': 'true', | 88 'generateid': 'true', |
86 'expand_variables' : 'false', | 89 'expand_variables' : 'false', |
87 'output_filename' : '', | 90 'output_filename' : '', |
88 'fold_whitespace': 'false', | 91 'fold_whitespace': 'false', |
92 'scale_factors' : '', | |
Jói
2012/05/17 19:39:12
I think we had discussed either figuring out the s
flackr
2012/05/22 21:25:03
Yes, I hadn't gotten that far yet. Done now :-).
| |
89 'run_command' : '', | 93 'run_command' : '', |
90 # TODO(joi) this is a hack - should output all generated files | 94 # TODO(joi) this is a hack - should output all generated files |
91 # as SCons dependencies; however, for now there is a bug I can't | 95 # as SCons dependencies; however, for now there is a bug I can't |
92 # find where GRIT doesn't build the matching fileset, therefore | 96 # find where GRIT doesn't build the matching fileset, therefore |
93 # this hack so that only the files you really need are marked as | 97 # this hack so that only the files you really need are marked as |
94 # dependencies. | 98 # dependencies. |
95 'sconsdep' : 'false', | 99 'sconsdep' : 'false', |
96 } | 100 } |
97 | 101 |
98 def IsExcludedFromRc(self): | 102 def IsExcludedFromRc(self): |
(...skipping 12 matching lines...) Expand all Loading... | |
111 else: | 115 else: |
112 raise exception.UnexpectedAttribute( | 116 raise exception.UnexpectedAttribute( |
113 "Attribute 'line_end' must be one of 'linux' (default), 'windows' or 'ma c'") | 117 "Attribute 'line_end' must be one of 'linux' (default), 'windows' or 'ma c'") |
114 | 118 |
115 def GetCliques(self): | 119 def GetCliques(self): |
116 if self.gatherer: | 120 if self.gatherer: |
117 return self.gatherer.GetCliques() | 121 return self.gatherer.GetCliques() |
118 else: | 122 else: |
119 return [] | 123 return [] |
120 | 124 |
125 def GetDataPackPair(self, lang, encoding): | |
126 """Returns a (id, string) pair that represents the resource id and raw | |
127 bytes of the data. This is used to generate the data pack data file. | |
128 """ | |
129 from grit.format import rc_header | |
130 id_map = rc_header.Item.tids_ | |
131 id = id_map[self.GetTextualIds()[0]] | |
132 data = '' | |
133 if self.gatherer: | |
134 data = self.gatherer.GetData(lang, encoding) | |
135 return id, data | |
136 | |
121 def GetTextualIds(self): | 137 def GetTextualIds(self): |
122 if self.gatherer and self.attrs['type'] not in ['tr_html', 'admin_template', 'txt']: | 138 if self.gatherer and self.attrs['type'] not in ['chrome_html', 'tr_html', 'a dmin_template', 'txt']: |
123 return self.gatherer.GetTextualIds() | 139 return self.gatherer.GetTextualIds() |
124 else: | 140 else: |
125 return [self.attrs['name']] | 141 return [self.attrs['name']] |
126 | 142 |
127 def ItemFormatter(self, t): | 143 def ItemFormatter(self, t): |
128 if t == 'rc_header': | 144 if t == 'rc_header': |
129 return grit.format.rc_header.Item() | 145 return grit.format.rc_header.Item() |
130 elif (t in ['rc_all', 'rc_translateable', 'rc_nontranslateable'] and | 146 elif (t in ['rc_all', 'rc_translateable', 'rc_nontranslateable'] and |
131 self.SatisfiesOutputCondition()): | 147 self.SatisfiesOutputCondition()): |
132 return _RC_FORMATTERS[self.attrs['type']] | 148 return _RC_FORMATTERS[self.attrs['type']] |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
283 def SubstituteMessages(self, substituter): | 299 def SubstituteMessages(self, substituter): |
284 '''Propagates substitution to gatherer. | 300 '''Propagates substitution to gatherer. |
285 | 301 |
286 Args: | 302 Args: |
287 substituter: a grit.util.Substituter object. | 303 substituter: a grit.util.Substituter object. |
288 ''' | 304 ''' |
289 assert self.gatherer | 305 assert self.gatherer |
290 if self.ExpandVariables(): | 306 if self.ExpandVariables(): |
291 self.gatherer.SubstituteMessages(substituter) | 307 self.gatherer.SubstituteMessages(substituter) |
292 | 308 |
OLD | NEW |