GenerateCountedUnknownProperties.py (704B)
1 # This Source Code Form is subject to the terms of the Mozilla Public 2 # License, v. 2.0. If a copy of the MPL was not distributed with this 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 5 import re 6 import runpy 7 import string 8 9 10 def to_camel_case(ident): 11 return re.sub( 12 "(^|_|-)([a-z0-9])", lambda m: m.group(2).upper(), ident.strip("_").strip("-") 13 ) 14 15 16 def generate(output, prop_file): 17 properties = runpy.run_path(prop_file)["COUNTED_UNKNOWN_PROPERTIES"] 18 19 output.write("/* THIS IS AN AUTOGENERATED FILE. DO NOT EDIT */\n\n") 20 21 for prop in properties: 22 output.write( 23 "COUNTED_UNKNOWN_PROPERTY({}, {})\n".format(prop, to_camel_case(prop)) 24 )