From 7a723127024fcbd803abd07500fb736f37493187 Mon Sep 17 00:00:00 2001 From: "joaodasilva@chromium.org" Date: Thu, 16 Oct 2014 12:01:31 +0000 Subject: Add a chromium version to policy template files. CL by cschuet@chromium.org, reviewed at https://codereview.chromium.org/631223003. BUG=108941 TEST=python test_suite_all.py Review URL: https://codereview.chromium.org/642443004 git-svn-id: http://grit-i18n.googlecode.com/svn/trunk@178 7262f16d-afe8-6277-6482-052fa10e57b1 --- .../policy_templates/writer_configuration.py | 2 + grit/format/policy_templates/writers/adm_writer.py | 6 +++ .../writers/adm_writer_unittest.py | 36 +++++++++++++ .../format/policy_templates/writers/adml_writer.py | 3 ++ .../writers/adml_writer_unittest.py | 14 +++++ .../format/policy_templates/writers/admx_writer.py | 3 ++ .../writers/admx_writer_unittest.py | 35 ++++++++++++- grit/format/policy_templates/writers/doc_writer.py | 4 ++ .../writers/doc_writer_unittest.py | 26 ++++++++++ .../policy_templates/writers/ios_plist_writer.py | 3 ++ .../writers/ios_plist_writer_unittest.py | 19 ++++++- .../format/policy_templates/writers/json_writer.py | 6 +++ .../writers/json_writer_unittest.py | 24 ++++++++- .../writers/plist_strings_writer.py | 6 +++ .../writers/plist_strings_writer_unittest.py | 27 ++++++++++ .../policy_templates/writers/plist_writer.py | 4 +- .../writers/plist_writer_unittest.py | 59 ++++++++++++++++++++++ grit/format/policy_templates/writers/reg_writer.py | 11 +++- .../writers/reg_writer_unittest.py | 14 +++++ .../policy_templates/writers/template_writer.py | 16 ++++++ 20 files changed, 312 insertions(+), 6 deletions(-) diff --git a/grit/format/policy_templates/writer_configuration.py b/grit/format/policy_templates/writer_configuration.py index 88de6b5..db9613b 100644 --- a/grit/format/policy_templates/writer_configuration.py +++ b/grit/format/policy_templates/writer_configuration.py @@ -52,6 +52,8 @@ def GetConfigurationForBuild(defines): } else: raise Exception('Unknown build') + if 'version' in defines: + config['version'] = defines['version'] config['win_group_policy_class'] = 'Both' config['win_supported_os'] = 'SUPPORTED_WINXPSP2' if 'mac_bundle_id' in defines: diff --git a/grit/format/policy_templates/writers/adm_writer.py b/grit/format/policy_templates/writers/adm_writer.py index bffbeb5..0413e06 100644 --- a/grit/format/policy_templates/writers/adm_writer.py +++ b/grit/format/policy_templates/writers/adm_writer.py @@ -152,6 +152,9 @@ class AdmWriter(template_writer.TemplateWriter): builder.AddLine('END POLICY', -1) builder.AddLine() + def WriteComment(self, comment): + self.lines.AddLine('; ' + comment) + def WritePolicy(self, policy): if self.CanBeMandatory(policy): self._WritePolicy(policy, @@ -205,6 +208,9 @@ class AdmWriter(template_writer.TemplateWriter): return lines def BeginTemplate(self): + if self._GetChromiumVersionString() is not None: + self.WriteComment(self.config['build'] + ' version: ' + \ + self._GetChromiumVersionString()) self._AddGuiString(self.config['win_supported_os'], self.messages['win_supported_winxpsp2']['text']) category_path = self.config['win_mandatory_category_path'] diff --git a/grit/format/policy_templates/writers/adm_writer_unittest.py b/grit/format/policy_templates/writers/adm_writer_unittest.py index 82374bb..27e5314 100644 --- a/grit/format/policy_templates/writers/adm_writer_unittest.py +++ b/grit/format/policy_templates/writers/adm_writer_unittest.py @@ -70,6 +70,42 @@ class AdmWriterUnittest(writer_unittest_common.WriterUnittestCommon): END CATEGORY +''', '''[Strings] +SUPPORTED_WINXPSP2="At least "Windows 3.11" +chromium="Chromium" +chromium_recommended="Chromium - Recommended"''') + self.CompareOutputs(output, expected_output) + + def testVersionAnnotation(self): + # Test PListWriter in case of empty polices. + grd = self.PrepareTest(''' + { + 'policy_definitions': [], + 'placeholders': [], + 'messages': { + 'win_supported_winxpsp2': { + 'text': 'At least "Windows 3.11', 'desc': 'blah' + }, + 'doc_recommended': { + 'text': 'Recommended', 'desc': 'bleh' + } + } + }''') + output = self.GetOutput( + grd, 'fr', {'_chromium': '1', 'version':'39.0.0.0'}, 'adm', 'en') + expected_output = '; chromium version: 39.0.0.0\n' + \ + self.ConstructOutput(['MACHINE', 'USER'], ''' + CATEGORY !!chromium + KEYNAME "Software\\Policies\\Chromium" + + END CATEGORY + + CATEGORY !!chromium_recommended + KEYNAME "Software\\Policies\\Chromium\\Recommended" + + END CATEGORY + + ''', '''[Strings] SUPPORTED_WINXPSP2="At least "Windows 3.11" chromium="Chromium" diff --git a/grit/format/policy_templates/writers/adml_writer.py b/grit/format/policy_templates/writers/adml_writer.py index c525602..5a6e7ee 100644 --- a/grit/format/policy_templates/writers/adml_writer.py +++ b/grit/format/policy_templates/writers/adml_writer.py @@ -161,6 +161,9 @@ class ADMLWriter(xml_formatted_writer.XMLFormattedWriter): dom_impl = minidom.getDOMImplementation('') self._doc = dom_impl.createDocument(None, 'policyDefinitionResources', None) + if self._GetChromiumVersionString() is not None: + self.AddComment(self._doc.documentElement, self.config['build'] + \ + ' version: ' + self._GetChromiumVersionString()) policy_definitions_resources_elem = self._doc.documentElement policy_definitions_resources_elem.attributes['revision'] = '1.0' policy_definitions_resources_elem.attributes['schemaVersion'] = '1.0' diff --git a/grit/format/policy_templates/writers/adml_writer_unittest.py b/grit/format/policy_templates/writers/adml_writer_unittest.py index 8a8f4f7..ecafece 100644 --- a/grit/format/policy_templates/writers/adml_writer_unittest.py +++ b/grit/format/policy_templates/writers/adml_writer_unittest.py @@ -77,6 +77,20 @@ class AdmlWriterUnittest(xml_writer_base_unittest.XmlWriterBaseTest): '') self.AssertXMLEquals(output, expected_output) + def testVersionAnnotation(self): + self.writer.config['version'] = '39.0.0.0' + self.writer.BeginTemplate() + self.writer.EndTemplate() + output = self.writer.GetTemplateText() + expected_output = ( + '' + '' + 'Supported on' + ' Test OS or higher' + '') + self.AssertXMLEquals(output, expected_output) + def testPolicyGroup(self): empty_policy_group = { 'name': 'PolicyGroup', diff --git a/grit/format/policy_templates/writers/admx_writer.py b/grit/format/policy_templates/writers/admx_writer.py index 0d4394b..5eb4475 100644 --- a/grit/format/policy_templates/writers/admx_writer.py +++ b/grit/format/policy_templates/writers/admx_writer.py @@ -349,6 +349,9 @@ class ADMXWriter(xml_formatted_writer.XMLFormattedWriter): ''' dom_impl = minidom.getDOMImplementation('') self._doc = dom_impl.createDocument(None, 'policyDefinitions', None) + if self._GetChromiumVersionString() is not None: + self.AddComment(self._doc.documentElement, self.config['build'] + \ + ' version: ' + self._GetChromiumVersionString()) policy_definitions_elem = self._doc.documentElement policy_definitions_elem.attributes['revision'] = '1.0' diff --git a/grit/format/policy_templates/writers/admx_writer_unittest.py b/grit/format/policy_templates/writers/admx_writer_unittest.py index cb3d39e..477a9b6 100644 --- a/grit/format/policy_templates/writers/admx_writer_unittest.py +++ b/grit/format/policy_templates/writers/admx_writer_unittest.py @@ -37,7 +37,8 @@ class AdmxWriterUnittest(xml_writer_base_unittest.XmlWriterBaseTest): 'win_mandatory_category_path': ['test_category'], 'win_recommended_category_path': ['test_recommended_category'], 'admx_namespace': 'ADMXWriter.Test.Namespace', - 'admx_prefix': 'test_prefix' + 'admx_prefix': 'test_prefix', + 'build': 'test_product', } self.writer = admx_writer.GetWriter(config) self.writer.Init() @@ -82,6 +83,38 @@ class AdmxWriterUnittest(xml_writer_base_unittest.XmlWriterBaseTest): '') self.AssertXMLEquals(output, expected_output) + def testEmptyVersion(self): + self.writer.config['version'] = '39.0.0.0' + self.writer.BeginTemplate() + self.writer.EndTemplate() + + output = self.writer.GetTemplateText() + expected_output = ( + '\n' + '\n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + ' \n' + '') + self.AssertXMLEquals(output, expected_output) + def testEmptyPolicyGroup(self): empty_policy_group = { 'name': 'PolicyGroup', diff --git a/grit/format/policy_templates/writers/doc_writer.py b/grit/format/policy_templates/writers/doc_writer.py index d8f108d..e90e16c 100644 --- a/grit/format/policy_templates/writers/doc_writer.py +++ b/grit/format/policy_templates/writers/doc_writer.py @@ -590,6 +590,10 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter): def BeginTemplate(self): # Add a
for the summary section. + if self._GetChromiumVersionString() is not None: + self.AddComment(self._main_div, self.config['build'] + \ + ' version: ' + self._GetChromiumVersionString()) + summary_div = self.AddElement(self._main_div, 'div') self.AddElement(summary_div, 'a', {'name': 'top'}) self.AddElement(summary_div, 'br') diff --git a/grit/format/policy_templates/writers/doc_writer_unittest.py b/grit/format/policy_templates/writers/doc_writer_unittest.py index 15d8b85..db03808 100644 --- a/grit/format/policy_templates/writers/doc_writer_unittest.py +++ b/grit/format/policy_templates/writers/doc_writer_unittest.py @@ -39,6 +39,7 @@ class DocWriterUnittest(writer_unittest_common.WriterUnittestCommon): 'os_name': 'Chrome OS', 'win_reg_mandatory_key_name': 'MockKey', 'win_reg_recommended_key_name': 'MockKeyRec', + 'build': 'test_product', }) self.writer.messages = { 'doc_back_to_top': {'text': '_test_back_to_top'}, @@ -103,6 +104,31 @@ class DocWriterUnittest(writer_unittest_common.WriterUnittestCommon): '
' '
') + def testVersionAnnotation(self): + # Test if DocWriter creates the skeleton of the document correctly. + self.writer.config['version'] = '39.0.0.0' + self.writer.BeginTemplate() + self.assertEquals( + self.writer._main_div.toxml(), + '
' + '' + '' + '
' + '
') + def testGetLocalizedMessage(self): # Test if localized messages are retrieved correctly. self.writer.messages = { diff --git a/grit/format/policy_templates/writers/ios_plist_writer.py b/grit/format/policy_templates/writers/ios_plist_writer.py index 1da64aa..b726ffa 100644 --- a/grit/format/policy_templates/writers/ios_plist_writer.py +++ b/grit/format/policy_templates/writers/ios_plist_writer.py @@ -97,6 +97,9 @@ class IOSPlistWriter(plist_writer.PListWriter): self._plist.attributes['version'] = '1.0' self._root_dict = self.AddElement(self._plist, 'dict') self.AddComment(self._root_dict, CHROME_POLICY_COMMENT) + if self._GetChromiumVersionString() is not None: + self.AddComment(self._root_dict, ' ' + self.config['build'] + \ + ' version: ' + self._GetChromiumVersionString() + ' ') self._dict = self._AddKeyValuePair(self._root_dict, 'ChromePolicy', 'dict') self._encoded_plist.attributes['version'] = '1.0' diff --git a/grit/format/policy_templates/writers/ios_plist_writer_unittest.py b/grit/format/policy_templates/writers/ios_plist_writer_unittest.py index 4743e4e..0fdecb1 100644 --- a/grit/format/policy_templates/writers/ios_plist_writer_unittest.py +++ b/grit/format/policy_templates/writers/ios_plist_writer_unittest.py @@ -55,11 +55,17 @@ class IOSPListWriterUnittest(writer_unittest_common.WriterUnittestCommon): expected_output, parse, decode_and_parse): + + + _defines = { '_chromium': '1', + 'mac_bundle_id': 'com.example.Test', + 'version': '39.0.0.0' } + # Generate the grit output for |templates|. output = self.GetOutput( self.PrepareTest(templates), 'fr', - { '_chromium': '1', 'mac_bundle_id': 'com.example.Test' }, + _defines, 'ios_plist', 'en') @@ -124,6 +130,17 @@ class IOSPListWriterUnittest(writer_unittest_common.WriterUnittestCommon): expected = {} self._VerifyGeneratedOutput(templates, expected) + def testEmptyVersion(self): + templates = ''' + { + 'policy_definitions': [], + 'placeholders': [], + 'messages': {}, + } + ''' + expected = {} + self._VerifyGeneratedOutput(templates, expected) + def testBoolean(self): templates = self._MakeTemplate('BooleanPolicy', 'main', 'True') expected = { diff --git a/grit/format/policy_templates/writers/json_writer.py b/grit/format/policy_templates/writers/json_writer.py index f5af8c1..4dfd282 100644 --- a/grit/format/policy_templates/writers/json_writer.py +++ b/grit/format/policy_templates/writers/json_writer.py @@ -39,6 +39,9 @@ class JsonWriter(template_writer.TemplateWriter): def PreprocessPolicies(self, policy_list): return self.FlattenGroupsAndSortPolicies(policy_list) + def WriteComment(self, comment): + self._out.append('// ' + comment) + def WritePolicy(self, policy): if policy['type'] == 'external': # This type can only be set through cloud policy. @@ -69,6 +72,9 @@ class JsonWriter(template_writer.TemplateWriter): self._first_written = False def BeginTemplate(self): + if self._GetChromiumVersionString() is not None: + self.WriteComment(self.config['build'] + ''' version: ''' + \ + self._GetChromiumVersionString()) self._out.append(TEMPLATE_HEADER) def EndTemplate(self): diff --git a/grit/format/policy_templates/writers/json_writer_unittest.py b/grit/format/policy_templates/writers/json_writer_unittest.py index b2ed1ef..8f3c745 100644 --- a/grit/format/policy_templates/writers/json_writer_unittest.py +++ b/grit/format/policy_templates/writers/json_writer_unittest.py @@ -24,6 +24,15 @@ TEMPLATE_HEADER="""\ { """ +TEMPLATE_HEADER_WITH_VERSION="""\ +// chromium version: 39.0.0.0 +// Policy template for Linux. +// Uncomment the policies you wish to activate and change their values to +// something useful for your case. The provided values are for reference only +// and do not provide meaningful defaults! +{ +""" + HEADER_DELIMETER="""\ //------------------------------------------------------------------------- @@ -55,10 +64,23 @@ class JsonWriterUnittest(writer_unittest_common.WriterUnittestCommon): ' "placeholders": [],' ' "messages": {},' '}') - output = self.GetOutput(grd, 'fr', {'_chromium': '1',}, 'json', 'en') + output = self.GetOutput(grd, 'fr', {'_chromium': '1'}, 'json', 'en') expected_output = TEMPLATE_HEADER + '}' self.CompareOutputs(output, expected_output) + def testEmptyWithVersion(self): + # Test the handling of an empty policy list. + grd = self.PrepareTest( + '{' + ' "policy_definitions": [],' + ' "placeholders": [],' + ' "messages": {},' + '}') + output = self.GetOutput( + grd, 'fr', {'_chromium': '1', 'version':'39.0.0.0'}, 'json', 'en') + expected_output = TEMPLATE_HEADER_WITH_VERSION + '}' + self.CompareOutputs(output, expected_output) + def testMainPolicy(self): # Tests a policy group with a single policy of type 'main'. grd = self.PrepareTest( diff --git a/grit/format/policy_templates/writers/plist_strings_writer.py b/grit/format/policy_templates/writers/plist_strings_writer.py index 966aaf2..4257bf8 100644 --- a/grit/format/policy_templates/writers/plist_strings_writer.py +++ b/grit/format/policy_templates/writers/plist_strings_writer.py @@ -22,6 +22,9 @@ class PListStringsWriter(template_writer.TemplateWriter): [lang].lproj subdirectories of the manifest bundle. ''' + def WriteComment(self, comment): + self._out.append('/* ' + comment + ' */' ) + def _AddToStringTable(self, item_name, caption, desc): '''Add a title and a description of an item to the string table. @@ -63,6 +66,9 @@ class PListStringsWriter(template_writer.TemplateWriter): def BeginTemplate(self): app_name = plist_helper.GetPlistFriendlyName(self.config['app_name']) + if self._GetChromiumVersionString() is not None: + self.WriteComment(self.config['build'] + ''' version: ''' + \ + self._GetChromiumVersionString()) self._AddToStringTable( app_name, self.config['app_name'], diff --git a/grit/format/policy_templates/writers/plist_strings_writer_unittest.py b/grit/format/policy_templates/writers/plist_strings_writer_unittest.py index 17fc85c..efad6f2 100644 --- a/grit/format/policy_templates/writers/plist_strings_writer_unittest.py +++ b/grit/format/policy_templates/writers/plist_strings_writer_unittest.py @@ -43,6 +43,33 @@ class PListStringsWriterUnittest(writer_unittest_common.WriterUnittestCommon): 'Chromium.pfm_description = "Chromium preferen\\"ces";') self.assertEquals(output.strip(), expected_output.strip()) + def testEmptyVersion(self): + # Test PListStringsWriter in case of empty polices. + grd = self.PrepareTest(''' + { + 'policy_definitions': [], + 'placeholders': [], + 'messages': { + 'mac_chrome_preferences': { + 'text': '$1 preferen"ces', + 'desc': 'blah' + } + } + }''') + output = self.GetOutput( + grd, + 'fr', + {'_chromium': '1', + 'mac_bundle_id': 'com.example.Test', + 'version': '39.0.0.0'}, + 'plist_strings', + 'en') + expected_output = ( + '/* chromium version: 39.0.0.0 */\n' + 'Chromium.pfm_title = "Chromium";\n' + 'Chromium.pfm_description = "Chromium preferen\\"ces";') + self.assertEquals(output.strip(), expected_output.strip()) + def testMainPolicy(self): # Tests a policy group with a single policy of type 'main'. grd = self.PrepareTest(''' diff --git a/grit/format/policy_templates/writers/plist_writer.py b/grit/format/policy_templates/writers/plist_writer.py index 6d929d6..cae6844 100644 --- a/grit/format/policy_templates/writers/plist_writer.py +++ b/grit/format/policy_templates/writers/plist_writer.py @@ -120,7 +120,9 @@ class PListWriter(xml_formatted_writer.XMLFormattedWriter): def BeginTemplate(self): self._plist.attributes['version'] = '1' dict = self.AddElement(self._plist, 'dict') - + if self._GetChromiumVersionString() is not None: + self.AddComment(self._plist, self.config['build'] + ' version: ' + \ + self._GetChromiumVersionString()) app_name = plist_helper.GetPlistFriendlyName(self.config['app_name']) self._AddStringKeyValuePair(dict, 'pfm_name', app_name) self._AddStringKeyValuePair(dict, 'pfm_description', '') diff --git a/grit/format/policy_templates/writers/plist_writer_unittest.py b/grit/format/policy_templates/writers/plist_writer_unittest.py index ddbdbfe..6186c15 100644 --- a/grit/format/policy_templates/writers/plist_writer_unittest.py +++ b/grit/format/policy_templates/writers/plist_writer_unittest.py @@ -52,6 +52,41 @@ class PListWriterUnittest(writer_unittest_common.WriterUnittestCommon): ''' % (product_name, bundle_id, policies) + def _GetExpectedOutputsWithVersion(self, product_name, bundle_id, policies, + version): + '''Substitutes the variable parts into a plist template. The result + of this function can be used as an expected result to test the output + of PListWriter. + + Args: + product_name: The name of the product, normally Chromium or Google Chrome. + bundle_id: The mac bundle id of the product. + policies: The list of policies. + + Returns: + The text of a plist template with the variable parts substituted. + ''' + return ''' + + + + + pfm_name + %s + pfm_description + + pfm_title + + pfm_version + 1 + pfm_domain + %s + pfm_subkeys + %s + + +''' % (product_name, bundle_id, policies, version) + def testEmpty(self): # Test PListWriter in case of empty polices. grd = self.PrepareTest(''' @@ -71,6 +106,30 @@ class PListWriterUnittest(writer_unittest_common.WriterUnittestCommon): 'Chromium', 'com.example.Test', '') self.assertEquals(output.strip(), expected_output.strip()) + def testEmptyVersion(self): + # Test PListWriter in case of empty polices. + grd = self.PrepareTest(''' + { + 'policy_definitions': [], + 'placeholders': [], + 'messages': {}, + }''') + + output = self.GetOutput( + grd, + 'fr', + {'_chromium': '1', + 'mac_bundle_id': 'com.example.Test', + 'version': '39.0.0.0'}, + 'plist', + 'en') + expected_output = self._GetExpectedOutputsWithVersion( + 'Chromium', + 'com.example.Test', + '', + 'chromium version: 39.0.0.0') + self.assertEquals(output.strip(), expected_output.strip()) + def testMainPolicy(self): # Tests a policy group with a single policy of type 'main'. grd = self.PrepareTest(''' diff --git a/grit/format/policy_templates/writers/reg_writer.py b/grit/format/policy_templates/writers/reg_writer.py index ad83046..70c87a3 100644 --- a/grit/format/policy_templates/writers/reg_writer.py +++ b/grit/format/policy_templates/writers/reg_writer.py @@ -82,6 +82,9 @@ class RegWriter(template_writer.TemplateWriter): 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, @@ -103,8 +106,12 @@ class RegWriter(template_writer.TemplateWriter): self._mandatory = [] self._recommended = [] self._last_key = {} + self._prefix = [] def GetTemplateText(self): - prefix = ['Windows Registry Editor Version 5.00'] - all = prefix + self._mandatory + self._recommended + 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) diff --git a/grit/format/policy_templates/writers/reg_writer_unittest.py b/grit/format/policy_templates/writers/reg_writer_unittest.py index 88fb2e2..2851a8b 100644 --- a/grit/format/policy_templates/writers/reg_writer_unittest.py +++ b/grit/format/policy_templates/writers/reg_writer_unittest.py @@ -48,6 +48,20 @@ class RegWriterUnittest(writer_unittest_common.WriterUnittestCommon): expected_output = 'Windows Registry Editor Version 5.00' self.CompareOutputs(output, expected_output) + def testEmptyVersion(self): + # Test the handling of an empty policy list. + grd = self.PrepareTest( + '{' + ' "policy_definitions": [],' + ' "placeholders": [],' + ' "messages": {}' + '}') + output = self.GetOutput( + grd, 'fr', {'_chromium': '1', 'version': '39.0.0.0' }, 'reg', 'en') + expected_output = ('Windows Registry Editor Version 5.00\r\n' + '; chromium version: 39.0.0.0\r\n') + self.CompareOutputs(output, expected_output) + def testMainPolicy(self): # Tests a policy group with a single policy of type 'main'. grd = self.PrepareTest( diff --git a/grit/format/policy_templates/writers/template_writer.py b/grit/format/policy_templates/writers/template_writer.py index bd48425..d489d64 100644 --- a/grit/format/policy_templates/writers/template_writer.py +++ b/grit/format/policy_templates/writers/template_writer.py @@ -102,6 +102,15 @@ class TemplateWriter(object): is_supported = lambda x: platform in x['platforms'] return any(filter(is_supported, policy['supported_on'])) + def _GetChromiumVersionString(self): + '''Returns the Chromium version string stored in the environment variable + version (if it is set). + + Returns: The Chromium version string or None if it has not been set.''' + + if 'version' in self.config: + return self.config['version'] + def _GetPoliciesForWriter(self, group): '''Filters the list of policies in the passed group that are supported by the writer. @@ -191,6 +200,13 @@ class TemplateWriter(object): ''' raise NotImplementedError() + def WriteComment(self, comment): + '''Appends the comment to the internal buffer. + + comment: The comment to be added. + ''' + raise NotImplementedError() + def WriteRecommendedPolicy(self, policy): '''Appends the template text corresponding to a recommended policy into the internal buffer. -- cgit v1.2.3