aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-11-13 22:54:39 +0200
committerGitHub <noreply@github.com>2017-11-13 22:54:39 +0200
commit49eb33ff5563e68bc89b399935923b892a99b54f (patch)
tree2e0abdfefe5f98a2ef596a6996ed94cce01e5a8e /mesonbuild/interpreter.py
parent897fd0bd169a5333b8b15af6b6e102ab53fe5cdf (diff)
parent26e731c7caf575799e88fe393ba8c2a3a7c42073 (diff)
downloadmeson-49eb33ff5563e68bc89b399935923b892a99b54f.zip
meson-49eb33ff5563e68bc89b399935923b892a99b54f.tar.gz
meson-49eb33ff5563e68bc89b399935923b892a99b54f.tar.bz2
Merge pull request #2000 from t-chaik/tchaik/wip/get-unquoted
config data: add .get_unquoted() convenience method to get quoted string unquoted
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index c7a0fb7..6300f7f 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -177,6 +177,7 @@ class ConfigurationDataHolder(MutableInterpreterObject, ObjectHolder):
'set_quoted': self.set_quoted_method,
'has': self.has_method,
'get': self.get_method,
+ 'get_unquoted': self.get_unquoted_method,
'merge_from': self.merge_from_method,
})
@@ -232,6 +233,20 @@ class ConfigurationDataHolder(MutableInterpreterObject, ObjectHolder):
return args[1]
raise InterpreterException('Entry %s not in configuration data.' % name)
+ def get_unquoted_method(self, args, kwargs):
+ if len(args) < 1 or len(args) > 2:
+ raise InterpreterException('Get method takes one or two arguments.')
+ name = args[0]
+ if name in self.held_object:
+ val = self.held_object.get(name)[0]
+ elif len(args) > 1:
+ val = args[1]
+ else:
+ raise InterpreterException('Entry %s not in configuration data.' % name)
+ if val[0] == '"' and val[-1] == '"':
+ return val[1:-1]
+ return val
+
def get(self, name):
return self.held_object.values[name] # (val, desc)