[Mesa-dev] [PATCH 01/14] util/gen_xmlpool: use argparse for argument handling
Eric Engestrom
eric.engestrom at intel.com
Fri Oct 26 11:30:01 UTC 2018
On Thursday, 2018-10-25 13:12:04 -0700, Dylan Baker wrote:
> 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.
Can't see the rest of this series (it's not in the mailman archive
either), but this patch is:
Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>
> ---
> src/util/xmlpool/gen_xmlpool.py | 20 +++++++++-----------
> 1 file 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:
> --
> 2.19.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list