Index: grit/format/policy_templates/writers/reg_writer.py |
diff --git a/grit/format/policy_templates/writers/reg_writer.py b/grit/format/policy_templates/writers/reg_writer.py |
deleted file mode 100644 |
index 70c87a32c6ffe9d36735becf64bcac29d07d831d..0000000000000000000000000000000000000000 |
--- a/grit/format/policy_templates/writers/reg_writer.py |
+++ /dev/null |
@@ -1,117 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
- |
-import json |
- |
-from grit.format.policy_templates.writers import template_writer |
- |
- |
-def GetWriter(config): |
- '''Factory method for creating RegWriter objects. |
- See the constructor of TemplateWriter for description of |
- arguments. |
- ''' |
- return RegWriter(['win'], config) |
- |
- |
-class RegWriter(template_writer.TemplateWriter): |
- '''Class for generating policy example files in .reg format (for Windows). |
- The generated files will define all the supported policies with example |
- values set for them. This class is used by PolicyTemplateGenerator to |
- write .reg files. |
- ''' |
- |
- NEWLINE = '\r\n' |
- |
- def _EscapeRegString(self, string): |
- return string.replace('\\', '\\\\').replace('\"', '\\\"') |
- |
- def _StartBlock(self, key, suffix, list): |
- key = 'HKEY_LOCAL_MACHINE\\' + key |
- if suffix: |
- key = key + '\\' + suffix |
- if key != self._last_key.get(id(list), None): |
- list.append('') |
- list.append('[%s]' % key) |
- self._last_key[id(list)] = key |
- |
- def PreprocessPolicies(self, policy_list): |
- return self.FlattenGroupsAndSortPolicies(policy_list, |
- self.GetPolicySortingKey) |
- |
- def GetPolicySortingKey(self, policy): |
- '''Extracts a sorting key from a policy. These keys can be used for |
- list.sort() methods to sort policies. |
- See TemplateWriter.SortPoliciesGroupsFirst for usage. |
- ''' |
- is_list = policy['type'] in ('list', 'string-enum-list') |
- # Lists come after regular policies. |
- return (is_list, policy['name']) |
- |
- def _WritePolicy(self, policy, key, list): |
- example_value = policy['example_value'] |
- |
- if policy['type'] == 'external': |
- # This type can only be set through cloud policy. |
- return |
- elif policy['type'] in ('list', 'string-enum-list'): |
- self._StartBlock(key, policy['name'], list) |
- i = 1 |
- for item in example_value: |
- escaped_str = self._EscapeRegString(item) |
- list.append('"%d"="%s"' % (i, escaped_str)) |
- i = i + 1 |
- else: |
- self._StartBlock(key, None, list) |
- if policy['type'] in ('string', 'string-enum', 'dict'): |
- example_value_str = json.dumps(example_value, sort_keys=True) |
- if policy['type'] == 'dict': |
- example_value_str = '"%s"' % example_value_str |
- elif policy['type'] == 'main': |
- if example_value == True: |
- example_value_str = 'dword:00000001' |
- else: |
- example_value_str = 'dword:00000000' |
- elif policy['type'] in ('int', 'int-enum'): |
- example_value_str = 'dword:%08x' % example_value |
- else: |
- raise Exception('unknown policy type %s:' % policy['type']) |
- |
- list.append('"%s"=%s' % (policy['name'], example_value_str)) |
- |
- def WriteComment(self, comment): |
- self._prefix.append('; ' + comment) |
- |
- def WritePolicy(self, policy): |
- if self.CanBeMandatory(policy): |
- self._WritePolicy(policy, |
- self.config['win_reg_mandatory_key_name'], |
- self._mandatory) |
- |
- def WriteRecommendedPolicy(self, policy): |
- self._WritePolicy(policy, |
- self.config['win_reg_recommended_key_name'], |
- self._recommended) |
- |
- def BeginTemplate(self): |
- pass |
- |
- def EndTemplate(self): |
- pass |
- |
- def Init(self): |
- self._mandatory = [] |
- self._recommended = [] |
- self._last_key = {} |
- self._prefix = [] |
- |
- def GetTemplateText(self): |
- self._prefix.append('Windows Registry Editor Version 5.00') |
- if self._GetChromiumVersionString() is not None: |
- self.WriteComment(self.config['build'] + ' version: ' + \ |
- self._GetChromiumVersionString()) |
- all = self._prefix + self._mandatory + self._recommended |
- return self.NEWLINE.join(all) |