diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-11-13 22:54:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-13 22:54:39 +0200 |
commit | 49eb33ff5563e68bc89b399935923b892a99b54f (patch) | |
tree | 2e0abdfefe5f98a2ef596a6996ed94cce01e5a8e /mesonbuild/interpreter.py | |
parent | 897fd0bd169a5333b8b15af6b6e102ab53fe5cdf (diff) | |
parent | 26e731c7caf575799e88fe393ba8c2a3a7c42073 (diff) | |
download | meson-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.py | 15 |
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) |