| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 """Updates enums in histograms.xml file with values read from provided C++ enum. | 5 """Updates enums in histograms.xml file with values read from provided C++ enum. |
| 6 | 6 |
| 7 If the file was pretty-printed, the updated version is pretty-printed too. | 7 If the file was pretty-printed, the updated version is pretty-printed too. |
| 8 """ | 8 """ |
| 9 | 9 |
| 10 import logging | 10 import logging |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 return item_node | 82 return item_node |
| 83 | 83 |
| 84 | 84 |
| 85 def UpdateHistogramDefinitions(histogram_enum_name, source_enum_values, | 85 def UpdateHistogramDefinitions(histogram_enum_name, source_enum_values, |
| 86 source_enum_path, document): | 86 source_enum_path, document): |
| 87 """Updates the enum node named |histogram_enum_name| based on the definition | 87 """Updates the enum node named |histogram_enum_name| based on the definition |
| 88 stored in |source_enum_values|. Existing items for which |source_enum_values| | 88 stored in |source_enum_values|. Existing items for which |source_enum_values| |
| 89 doesn't contain any corresponding data will be preserved. |source_enum_path| | 89 doesn't contain any corresponding data will be preserved. |source_enum_path| |
| 90 will be used to insert a comment. | 90 will be used to insert a comment. |
| 91 """ | 91 """ |
| 92 # Get a dom of <enum name=|name| ...> node in |document|. | 92 # Get a dom of <enum name=|histogram_enum_name| ...> node in |document|. |
| 93 for enum_node in document.getElementsByTagName('enum'): | 93 for enum_node in document.getElementsByTagName('enum'): |
| 94 if enum_node.attributes['name'].value == histogram_enum_name: | 94 if enum_node.attributes['name'].value == histogram_enum_name: |
| 95 break | 95 break |
| 96 else: | 96 else: |
| 97 raise UserError('No {0} enum node found'.format(name)) | 97 raise UserError('No {0} enum node found'.format(histogram_enum_name)) |
| 98 | 98 |
| 99 new_item_nodes = {} | 99 new_item_nodes = {} |
| 100 new_comments = [] | 100 new_comments = [] |
| 101 | 101 |
| 102 # Add a "Generated from (...)" comment. | 102 # Add a "Generated from (...)" comment. |
| 103 new_comments.append( | 103 new_comments.append( |
| 104 document.createComment(' Generated from {0} '.format(source_enum_path))) | 104 document.createComment(' Generated from {0} '.format(source_enum_path))) |
| 105 | 105 |
| 106 # Create item nodes for each of the enum values. | 106 # Create item nodes for each of the enum values. |
| 107 for value, label in source_enum_values.iteritems(): | 107 for value, label in source_enum_values.iteritems(): |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 read from |source_enum_path|, where |start_marker| and |end_marker| indicate | 176 read from |source_enum_path|, where |start_marker| and |end_marker| indicate |
| 177 the beginning and end of the source enum definition, respectively. | 177 the beginning and end of the source enum definition, respectively. |
| 178 """ | 178 """ |
| 179 | 179 |
| 180 Log('Reading histogram enum definition from "{0}".'.format(source_enum_path)) | 180 Log('Reading histogram enum definition from "{0}".'.format(source_enum_path)) |
| 181 source_enum_values = ReadHistogramValues(source_enum_path, start_marker, | 181 source_enum_values = ReadHistogramValues(source_enum_path, start_marker, |
| 182 end_marker) | 182 end_marker) |
| 183 | 183 |
| 184 UpdateHistogramFromDict(histogram_enum_name, source_enum_values, | 184 UpdateHistogramFromDict(histogram_enum_name, source_enum_values, |
| 185 source_enum_path) | 185 source_enum_path) |
| OLD | NEW |