diff options
author | Dylan Baker <[email protected]> | 2018-08-24 06:28:41 -0700 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2018-10-31 16:37:12 -0700 |
commit | 2857b18991f86940af5759664a961a24d90e3a47 (patch) | |
tree | 633e7764ccef0a05ded7344ca21fdae406ba87a9 /src/util/xmlpool/gen_xmlpool.py | |
parent | 5b757b4097f3e1ceec29db04436970c510092126 (diff) |
util/gen_xmlpool: use argparse for argument handling
This is a little cleaner than just looking at sys.argv, but it's also
going to allow us to handle the differences in the way meson and
autotools handle translations more cleanly.
Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to 'src/util/xmlpool/gen_xmlpool.py')
-rw-r--r-- | src/util/xmlpool/gen_xmlpool.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/util/xmlpool/gen_xmlpool.py b/src/util/xmlpool/gen_xmlpool.py index 56a67bcab55..b40f295738e 100644 --- a/src/util/xmlpool/gen_xmlpool.py +++ b/src/util/xmlpool/gen_xmlpool.py @@ -9,25 +9,23 @@ from __future__ import print_function +import argparse import io import sys import gettext import re +parser = argparse.ArgumentParser() +parser.add_argument('template') +parser.add_argument('localedir') +parser.add_argument('languages', nargs='*') +args = parser.parse_args() if sys.version_info < (3, 0): gettext_method = 'ugettext' else: gettext_method = 'gettext' -# Path to t_options.h -template_header_path = sys.argv[1] - -localedir = sys.argv[2] - -# List of supported languages -languages = sys.argv[3:] - # Escape special characters in C strings def escapeCString (s): escapeSeqs = {'\a' : '\\a', '\b' : '\\b', '\f' : '\\f', '\n' : '\\n', @@ -166,9 +164,9 @@ def expandMatches (matches, translations, end=None): # Compile a list of translation classes to all supported languages. # The first translation is always a NullTranslations. translations = [("en", gettext.NullTranslations())] -for lang in languages: +for lang in args.languages: try: - trans = gettext.translation ("options", localedir, [lang]) + trans = gettext.translation ("options", args.localedir, [lang]) except IOError: sys.stderr.write ("Warning: language '%s' not found.\n" % lang) continue @@ -188,7 +186,7 @@ print("/***********************************************************************\ # Process the options template and generate options.h with all # translations. -template = io.open (template_header_path, mode="rt", encoding='utf-8') +template = io.open (args.template, mode="rt", encoding='utf-8') descMatches = [] for line in template: if len(descMatches) > 0: |