diff options
Diffstat (limited to 'layout/style/GenerateCountedUnknownProperties.py')
-rw-r--r-- | layout/style/GenerateCountedUnknownProperties.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/layout/style/GenerateCountedUnknownProperties.py b/layout/style/GenerateCountedUnknownProperties.py new file mode 100644 index 0000000000..b46884da6b --- /dev/null +++ b/layout/style/GenerateCountedUnknownProperties.py @@ -0,0 +1,24 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import re +import runpy +import string + + +def to_camel_case(ident): + return re.sub( + "(^|_|-)([a-z0-9])", lambda m: m.group(2).upper(), ident.strip("_").strip("-") + ) + + +def generate(output, prop_file): + properties = runpy.run_path(prop_file)["COUNTED_UNKNOWN_PROPERTIES"] + + output.write("/* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT */\n\n") + + for prop in properties: + output.write( + "COUNTED_UNKNOWN_PROPERTY({}, {})\n".format(prop, to_camel_case(prop)) + ) |