aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mesonlib.py
diff options
context:
space:
mode:
authorAlexis Jeandet <alexis.jeandet@member.fsf.org>2017-08-29 18:36:40 +0200
committerAlexis Jeandet <alexis.jeandet@member.fsf.org>2017-09-18 22:21:22 +0200
commit55975f852e502137e3d78d6af204f1bc58a98551 (patch)
tree4fef81c97f7bcd277342884c02da06cf0667826f /mesonbuild/mesonlib.py
parent7549a39a174125f46098543413c5ac77ea08c494 (diff)
downloadmeson-55975f852e502137e3d78d6af204f1bc58a98551.zip
meson-55975f852e502137e3d78d6af204f1bc58a98551.tar.gz
meson-55975f852e502137e3d78d6af204f1bc58a98551.tar.bz2
Introduced extract_as_list.
Corrected code style and typo. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Diffstat (limited to 'mesonbuild/mesonlib.py')
-rw-r--r--mesonbuild/mesonlib.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 1268b00..7f16512 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -477,13 +477,20 @@ def replace_if_different(dst, dst_tmp):
def listify(*args):
'''
Returns a list with all args embedded in a list if they are not of type list.
- This function preserve order.
+ This function preserves order.
'''
if len(args) == 1: # Special case with one single arg
return args[0] if type(args[0]) is list else [args[0]]
return [item if type(item) is list else [item] for item in args]
+def extract_as_list(dict_object, *keys):
+ '''
+ Extracts all values from given dict_object and listifies them.
+ '''
+ return listify(*[dict_object.get(key, []) for key in keys])
+
+
def typeslistify(item, types):
'''
Ensure that type(@item) is one of @types or a