summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDylan Baker <[email protected]>2018-08-24 06:28:41 -0700
committerDylan Baker <[email protected]>2018-10-31 16:37:12 -0700
commit2857b18991f86940af5759664a961a24d90e3a47 (patch)
tree633e7764ccef0a05ded7344ca21fdae406ba87a9 /src
parent5b757b4097f3e1ceec29db04436970c510092126 (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')
-rw-r--r--src/util/xmlpool/gen_xmlpool.py20
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: