diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-12-03 22:35:44 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-12-03 22:35:44 +0200 |
commit | 2cf1e8da15b954725fa9c9467bfb35a516814c89 (patch) | |
tree | 1b3c1a344095fa256233d268ed685f7a58ffe13a /mesonbuild/optinterpreter.py | |
parent | 754e33e574dd37ab0efb0d336bb805861bc3e6cf (diff) | |
parent | f8a419b27d3605c4b4d1af42debb10124a51b908 (diff) | |
download | meson-2cf1e8da15b954725fa9c9467bfb35a516814c89.zip meson-2cf1e8da15b954725fa9c9467bfb35a516814c89.tar.gz meson-2cf1e8da15b954725fa9c9467bfb35a516814c89.tar.bz2 |
Merged array option branch.
Diffstat (limited to 'mesonbuild/optinterpreter.py')
-rw-r--r-- | mesonbuild/optinterpreter.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py index 22a263e..3cca239 100644 --- a/mesonbuild/optinterpreter.py +++ b/mesonbuild/optinterpreter.py @@ -86,15 +86,17 @@ def ComboParser(name, description, kwargs): @permitted_kwargs({'value', 'choices'}) def string_array_parser(name, description, kwargs): - if 'choices' not in kwargs: - raise OptionException('Array option missing "choices" keyword.') - choices = kwargs['choices'] - if not isinstance(choices, list): - raise OptionException('Array choices must be an array.') - for i in choices: - if not isinstance(i, str): - raise OptionException('Array choice elements must be strings.') - value = kwargs.get('value', choices) + if 'choices' in kwargs: + choices = kwargs['choices'] + if not isinstance(choices, list): + raise OptionException('Array choices must be an array.') + for i in choices: + if not isinstance(i, str): + raise OptionException('Array choice elements must be strings.') + value = kwargs.get('value', choices) + else: + choices = None + value = kwargs.get('value', []) if not isinstance(value, list): raise OptionException('Array choices must be passed as an array.') return coredata.UserStringArrayOption(name, description, value, choices=choices) |