Chromium Code Reviews| Index: third_party/WebKit/Source/build/scripts/make_css_primitive_value_unit_trie.py |
| diff --git a/third_party/WebKit/Source/build/scripts/make_css_primitive_value_unit_trie.py b/third_party/WebKit/Source/build/scripts/make_css_primitive_value_unit_trie.py |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..0cb01541d1c126791503328e9e725552875d8ba2 |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/build/scripts/make_css_primitive_value_unit_trie.py |
| @@ -0,0 +1,47 @@ |
| +#!/usr/bin/env python |
| +# Copyright 2016 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. |
| + |
| +from collections import OrderedDict |
| +from itertools import groupby |
| +import sys |
| + |
| +import in_generator |
| +import trie_builder |
| +import template_expander |
| + |
| +import make_element_lookup_trie |
| + |
| + |
| +class UnitTrieWriter(in_generator.Writer): |
| + defaults = { |
| + 'unit_type': None |
| + } |
| + default_parameters = { |
| + 'empty_string': None, |
| + 'default_value': 0 |
| + } |
| + |
| + def __init__(self, in_file_paths): |
| + super(UnitTrieWriter, self).__init__(in_file_paths) |
| + |
| + self._dict = {} |
|
Timothy Loh
2016/05/12 07:03:14
I'd just use a dict comprehension
self._units = {
meade_UTC10
2016/05/13 04:32:05
Done.
|
| + for entry in self.in_file.name_dictionaries: |
| + self._dict[entry['name']] = entry['unit_type'] |
| + |
| + self._outputs = { |
| + 'CSSPrimitiveValueUnitTrie.cpp': self.generate_implementation |
| + } |
| + |
| + @template_expander.use_jinja('CSSPrimitiveValueUnitTrie.cpp.tmpl') |
| + def generate_implementation(self): |
| + return { |
| + 'default_value': self.in_file.parameters["default_value"], |
| + 'empty_case': self.in_file.parameters["empty_string"], |
| + 'length_tries': trie_builder.trie_list_by_str_length(self._dict) |
| + } |
| + |
| + |
| +if __name__ == '__main__': |
| + in_generator.Maker(UnitTrieWriter).main(sys.argv) |