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

Side by Side Diff: grit/format/policy_templates/writers/doc_writer.py

Issue 544113002: Add optional mandatory policy setting for template generation (Closed) Base URL: https://chromium.googlesource.com/external/grit-i18n.git@master
Patch Set: rebase Created 6 years, 3 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
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 6
7 import json 7 import json
8 from xml.dom import minidom 8 from xml.dom import minidom
9 from grit import lazy_re 9 from grit import lazy_re
10 from grit.format.policy_templates.writers import xml_formatted_writer 10 from grit.format.policy_templates.writers import xml_formatted_writer
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 Args: 173 Args:
174 parent: The DOM node for which the example will be added. 174 parent: The DOM node for which the example will be added.
175 policy: A policy of type 'list', for which the Windows example value 175 policy: A policy of type 'list', for which the Windows example value
176 is generated. 176 is generated.
177 ''' 177 '''
178 example_value = policy['example_value'] 178 example_value = policy['example_value']
179 self.AddElement(parent, 'dt', {}, 'Windows:') 179 self.AddElement(parent, 'dt', {}, 'Windows:')
180 win = self._AddStyledElement(parent, 'dd', ['.monospace', '.pre']) 180 win = self._AddStyledElement(parent, 'dd', ['.monospace', '.pre'])
181 win_text = [] 181 win_text = []
182 cnt = 1 182 cnt = 1
183 key_name = self.config['win_reg_mandatory_key_name'] 183 if self.CanBeRecommended(policy) and not self.CanBeMandatory(policy):
184 key_name = self.config['win_reg_recommended_key_name']
185 else:
186 key_name = self.config['win_reg_mandatory_key_name']
184 for item in example_value: 187 for item in example_value:
185 win_text.append( 188 win_text.append(
186 '%s\\%s\\%d = "%s"' % 189 '%s\\%s\\%d = "%s"' %
187 (key_name, policy['name'], cnt, item)) 190 (key_name, policy['name'], cnt, item))
188 cnt = cnt + 1 191 cnt = cnt + 1
189 self.AddText(win, '\n'.join(win_text)) 192 self.AddText(win, '\n'.join(win_text))
190 193
191 def _AddListExampleLinux(self, parent, policy): 194 def _AddListExampleLinux(self, parent, policy):
192 '''Adds an example value for Linux of a 'list' policy to a DOM node. 195 '''Adds an example value for Linux of a 'list' policy to a DOM node.
193 196
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 def _AddDictionaryExampleWindows(self, parent, policy): 283 def _AddDictionaryExampleWindows(self, parent, policy):
281 '''Adds an example value for Windows of a 'dict' policy to a DOM node. 284 '''Adds an example value for Windows of a 'dict' policy to a DOM node.
282 285
283 Args: 286 Args:
284 parent: The DOM node for which the example will be added. 287 parent: The DOM node for which the example will be added.
285 policy: A policy of type 'dict', for which the Windows example value 288 policy: A policy of type 'dict', for which the Windows example value
286 is generated. 289 is generated.
287 ''' 290 '''
288 self.AddElement(parent, 'dt', {}, 'Windows:') 291 self.AddElement(parent, 'dt', {}, 'Windows:')
289 win = self._AddStyledElement(parent, 'dd', ['.monospace', '.pre']) 292 win = self._AddStyledElement(parent, 'dd', ['.monospace', '.pre'])
290 key_name = self.config['win_reg_mandatory_key_name'] 293 if self.CanBeRecommended(policy) and not self.CanBeMandatory(policy):
294 key_name = self.config['win_reg_recommended_key_name']
295 else:
296 key_name = self.config['win_reg_mandatory_key_name']
291 example = json.dumps(policy['example_value']) 297 example = json.dumps(policy['example_value'])
292 self.AddText(win, '%s\\%s = %s' % (key_name, policy['name'], example)) 298 self.AddText(win, '%s\\%s = %s' % (key_name, policy['name'], example))
293 299
294 def _AddDictionaryExampleLinux(self, parent, policy): 300 def _AddDictionaryExampleLinux(self, parent, policy):
295 '''Adds an example value for Linux of a 'dict' policy to a DOM node. 301 '''Adds an example value for Linux of a 'dict' policy to a DOM node.
296 302
297 Args: 303 Args:
298 parent: The DOM node for which the example will be added. 304 parent: The DOM node for which the example will be added.
299 policy: A policy of type 'dict', for which the Linux example value 305 policy: A policy of type 'dict', for which the Linux example value
300 is generated. 306 is generated.
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 458
453 dl = self.AddElement(parent, 'dl') 459 dl = self.AddElement(parent, 'dl')
454 data_type = self._TYPE_MAP[policy['type']] 460 data_type = self._TYPE_MAP[policy['type']]
455 if (self.IsPolicySupportedOnPlatform(policy, 'win') and 461 if (self.IsPolicySupportedOnPlatform(policy, 'win') and
456 self._REG_TYPE_MAP.get(policy['type'], None)): 462 self._REG_TYPE_MAP.get(policy['type'], None)):
457 data_type += ' (%s)' % self._REG_TYPE_MAP[policy['type']] 463 data_type += ' (%s)' % self._REG_TYPE_MAP[policy['type']]
458 self._AddPolicyAttribute(dl, 'data_type', data_type) 464 self._AddPolicyAttribute(dl, 'data_type', data_type)
459 if policy['type'] != 'external': 465 if policy['type'] != 'external':
460 # All types except 'external' can be set through platform policy. 466 # All types except 'external' can be set through platform policy.
461 if self.IsPolicySupportedOnPlatform(policy, 'win'): 467 if self.IsPolicySupportedOnPlatform(policy, 'win'):
468 if self.CanBeRecommended(policy) and not self.CanBeMandatory(policy):
469 key_name = self.config['win_reg_recommended_key_name']
470 else:
471 key_name = self.config['win_reg_mandatory_key_name']
462 self._AddPolicyAttribute( 472 self._AddPolicyAttribute(
463 dl, 473 dl,
464 'win_reg_loc', 474 'win_reg_loc',
465 self.config['win_reg_mandatory_key_name'] + '\\' + policy['name'], 475 key_name + '\\' + policy['name'],
466 ['.monospace']) 476 ['.monospace'])
467 if (self.IsPolicySupportedOnPlatform(policy, 'linux') or 477 if (self.IsPolicySupportedOnPlatform(policy, 'linux') or
468 self.IsPolicySupportedOnPlatform(policy, 'mac')): 478 self.IsPolicySupportedOnPlatform(policy, 'mac')):
469 self._AddPolicyAttribute( 479 self._AddPolicyAttribute(
470 dl, 480 dl,
471 'mac_linux_pref_name', 481 'mac_linux_pref_name',
472 policy['name'], 482 policy['name'],
473 ['.monospace']) 483 ['.monospace'])
474 dd = self._AddPolicyAttribute(dl, 'supported_on') 484 dd = self._AddPolicyAttribute(dl, 'supported_on')
475 self._AddSupportedOnList(dd, policy['supported_on']) 485 self._AddSupportedOnList(dd, policy['supported_on'])
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 } 687 }
678 688
679 # A simple regexp to search for URLs. It is enough for now. 689 # A simple regexp to search for URLs. It is enough for now.
680 self._url_matcher = lazy_re.compile('(http://[^\\s]*[^\\s\\.])') 690 self._url_matcher = lazy_re.compile('(http://[^\\s]*[^\\s\\.])')
681 691
682 def GetTemplateText(self): 692 def GetTemplateText(self):
683 # Return the text representation of the main <div> tag. 693 # Return the text representation of the main <div> tag.
684 return self._main_div.toxml() 694 return self._main_div.toxml()
685 # To get a complete HTML file, use the following. 695 # To get a complete HTML file, use the following.
686 # return self._doc.toxml() 696 # return self._doc.toxml()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698