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

Side by Side Diff: Source/build/scripts/make_use_counter.py

Issue 729393002: Auto generate UseCounter::Feature enum from an .in file (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years 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
(Empty)
1 #!/usr/bin/env python
2
3 # Copyright 2014 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 import media_feature_symbol
8 import in_generator
9 import template_expander
10 import name_utilities
11 import sys
12
13
14 feature_values = set()
15
16
17 def unique_value(value, feature):
18 global feature_values
19 if not value or type(value) is bool:
haraken 2014/11/24 09:38:49 Just help me understand: What is the 'type(value)
20 print "'%s' values isn't defined, please define it!" % feature
21 exit(1)
22 if value in feature_values:
23 print "'%s' value is already defined, please change it!" % feature
24 exit(1)
25 feature_values.add(value)
26 return value
27
28
29 class MakeUseCounterWriter(in_generator.Writer):
30 defaults = {
31 'value': None,
32 }
33 filters = {
34 'unique_value': unique_value,
35 }
36 default_parameters = {
37 'value': '',
38 }
39
40 def __init__(self, in_file_path):
41 super(MakeUseCounterWriter, self).__init__(in_file_path)
42
Timothy Loh 2014/11/24 11:02:40 The whole unique_value thing is a bit awkward, why
43 self._outputs = {
44 ('UseCounterGenerated.h'): self.generate_header,
Timothy Loh 2014/11/24 11:02:40 Unneeded brackets here
45 }
46 self._template_context = {
Timothy Loh 2014/11/24 11:02:40 This dict makes more sense to just have inline in
47 'features': self.in_file.name_dictionaries,
48 }
49
50 @template_expander.use_jinja('UseCounterGenerated.h.tmpl', filters=filters)
51 def generate_header(self):
52 return self._template_context
53
54 if __name__ == '__main__':
55 in_generator.Maker(MakeUseCounterWriter).main(sys.argv)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698