Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 #!/usr/bin/env python | |
| 2 | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
Could you add a module doc string?
"""This does XX
tasak
2014/05/12 14:33:27
Done.
| |
| 3 import sys | |
| 4 | |
| 5 from in_file import InFile | |
| 6 import in_generator | |
| 7 import template_expander | |
| 8 | |
| 9 | |
| 10 class CSSShorthandsInWriter(in_generator.Writer): | |
| 11 class_name = "CSSShorthands" | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
Please use quotes consistently, preferably single
tasak
2014/05/12 14:33:27
Done.
| |
| 12 defaults = { | |
| 13 'alias_for': None, | |
| 14 'is_internal': False, | |
| 15 } | |
| 16 _except_properties = set(['all', 'direction', 'unicode-bidi']) | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
This can be a module-level constant, and should be
tasak
2014/05/12 14:33:27
Done.
| |
| 17 | |
| 18 def __init__(self, file_paths): | |
| 19 in_generator.Writer.__init__(self, file_paths[1:]) | |
| 20 self._outputs = {(self.class_name + ".in"): self.generate_implementation } | |
| 21 | |
| 22 properties = filter(lambda property: not property['alias_for'], self.in_ file.name_dictionaries) | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
Could you use a list comprehension instead?
(Also
tasak
2014/05/12 14:33:27
Done.
| |
| 23 if len(properties) > 1024: | |
| 24 print "ERROR : There is more than 1024 CSS Properties, you need to u pdate CSSProperty.h/StylePropertyMetadata m_propertyID accordingly." | |
| 25 exit(1) | |
| 26 | |
| 27 css_properties = [] | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
Again, list comprehension:
css_property = [css_pro
tasak
2014/05/12 14:33:27
Done.
| |
| 28 for property in properties: | |
| 29 # 'all' should not contain internal properties. | |
| 30 if property['name'].startswith('-internal-'): | |
| 31 continue | |
| 32 # 'all' should not contain properties in _except_properties. | |
| 33 if property['name'] in self._except_properties: | |
| 34 continue | |
| 35 css_properties.append(property['name']) | |
| 36 | |
| 37 in_file = InFile.load_from_files([file_paths[0]], {'longhands': "", 'run timeEnabledShorthand': None}, {}, None) | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
Could you add some line breaks to the argument lis
tasak
2014/05/12 14:33:27
Done.
| |
| 38 self._properties = in_file.name_dictionaries | |
| 39 shorthand_properties = filter(lambda property: property['longhands'], se lf._properties) | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
List comprehension, can merge with set line.
...an
tasak
2014/05/12 14:33:27
Done.
| |
| 40 shorthands = set([property["name"] for property in shorthand_properties] ) | |
| 41 self._all_longhands = ';'.join([property for property in css_properties if property not in shorthands]) | |
|
Nils Barth (inactive)
2014/04/03 06:27:06
You don't need the []: you can just write:
join(p
tasak
2014/05/12 14:33:27
I see. I did "assign a list here".
| |
| 42 | |
| 43 @template_expander.use_jinja("CSSShorthands.in.tmpl") | |
| 44 def generate_implementation(self): | |
| 45 return { | |
| 46 "properties": self._properties, | |
| 47 "all_longhands": self._all_longhands, | |
| 48 } | |
| 49 | |
| 50 | |
| 51 if __name__ == "__main__": | |
| 52 in_generator.Maker(CSSShorthandsInWriter).main(sys.argv) | |
| OLD | NEW |