Browse Source

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 <eric.engestrom@intel.com>
tags/18.3-branchpoint
Dylan Baker 7 years ago
parent
commit
2857b18991
1 changed files with 9 additions and 11 deletions
  1. 9
    11
      src/util/xmlpool/gen_xmlpool.py

+ 9
- 11
src/util/xmlpool/gen_xmlpool.py View File

@@ -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:

Loading…
Cancel
Save