diff options
Diffstat (limited to '')
-rw-r--r-- | toolkit/content/neterror/gen_aboutneterror_codes.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/toolkit/content/neterror/gen_aboutneterror_codes.py b/toolkit/content/neterror/gen_aboutneterror_codes.py new file mode 100644 index 0000000000..806756422f --- /dev/null +++ b/toolkit/content/neterror/gen_aboutneterror_codes.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 +# 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 sys + +from fluent.syntax import parse +from fluent.syntax.ast import Message + + +def find_error_ids(filename, known_strings): + with open(filename, "r", encoding="utf-8") as f: + known_strings += [ + m.id.name for m in parse(f.read()).body if isinstance(m, Message) + ] + + +def main(output, *filenames): + known_strings = [] + for filename in filenames: + find_error_ids(filename, known_strings) + + output.write("const KNOWN_ERROR_MESSAGE_IDS = new Set([\n") + for known_string in known_strings: + output.write(' "{}",\n'.format(known_string)) + output.write("]);\n") + + +if __name__ == "__main__": + sys.exit(main(sys.stdout, *sys.argv[1:])) |