aboutsummaryrefslogtreecommitdiff
path: root/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-06-02 16:01:29 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-06-02 16:01:29 +0300
commita51036fd7de1dcb3620a05e737a82488b12c95d7 (patch)
tree6a91c7e757770b745ea2fab05f4b048ca058d93d /interpreter.py
parented5528ba18c9df82dbe4f6947b9040d21a7ffb21 (diff)
downloadmeson-a51036fd7de1dcb3620a05e737a82488b12c95d7.zip
meson-a51036fd7de1dcb3620a05e737a82488b12c95d7.tar.gz
meson-a51036fd7de1dcb3620a05e737a82488b12c95d7.tar.bz2
Reworked configure file generation.
Diffstat (limited to 'interpreter.py')
-rwxr-xr-xinterpreter.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/interpreter.py b/interpreter.py
index ede7e1b..9f6b075 100755
--- a/interpreter.py
+++ b/interpreter.py
@@ -46,15 +46,17 @@ class ConfigurationData(InterpreterObject):
super().__init__()
self.used = False # These objects become immutable after use in configure_file.
self.values = {}
- self.methods.update({'set': self.set_method})
-
+ self.methods.update({'set': self.set_method,
+ 'set10': self.set10_method,
+ })
+
def is_used(self):
return self.used
def mark_used(self):
self.used = True
- def set_method(self, args, kwargs):
+ def validate_args(self, args):
if len(args) != 2:
raise InterpreterException("Configuration set requires 2 arguments.")
if self.used:
@@ -63,10 +65,21 @@ class ConfigurationData(InterpreterObject):
val = args[1]
if not isinstance(name, str):
raise InterpreterException("First argument to set must be a string.")
+ return (name, val)
+
+ def set_method(self, args, kwargs):
+ (name, val) = self.validate_args(args)
self.values[name] = val
+
+ def set10_method(self, args, kwargs):
+ (name, val) = self.validate_args(args)
+ if val:
+ self.values[name] = 1
+ else:
+ self.values[name] = 0
- def get(self, *args):
- return self.values.get(*args)
+ def get(self, name):
+ return self.values[name]
def keys(self):
return self.values.keys()