summaryrefslogtreecommitdiff
path: root/attoconf/core.py
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2014-07-16 17:39:52 -0700
committerBen Longbons <b.r.longbons@gmail.com>2014-07-16 18:10:44 -0700
commitd6052fda42c8d59486bd95b025b6d6b436e00424 (patch)
treef77b6686e8f9c36c5ffc6d56f56cc47dc31f09a6 /attoconf/core.py
parent0f0e6300534b8b847f139c04b9e6ed1cc1100d90 (diff)
downloadattobuild-d6052fda42c8d59486bd95b025b6d6b436e00424.tar.gz
attobuild-d6052fda42c8d59486bd95b025b6d6b436e00424.tar.bz2
attobuild-d6052fda42c8d59486bd95b025b6d6b436e00424.tar.xz
attobuild-d6052fda42c8d59486bd95b025b6d6b436e00424.zip
Remove possibility of custom vars
Retained temporary backward-compatibility vars until 1.0
Diffstat (limited to 'attoconf/core.py')
-rw-r--r--attoconf/core.py20
1 files changed, 9 insertions, 11 deletions
diff --git a/attoconf/core.py b/attoconf/core.py
index b5cb008..bb9d2ba 100644
--- a/attoconf/core.py
+++ b/attoconf/core.py
@@ -24,7 +24,7 @@ import sys
from .help import Help
# Nothing to see here. Move along.
-Option = namedtuple('Option', ['type', 'init', 'var'])
+Option = namedtuple('Option', ['type', 'init'])
class ArgumentError(Exception): pass
def as_var(name):
@@ -78,7 +78,7 @@ class Project(object):
self.help.add_option(key, help, hidden)
def add_option(self, name, init, type, check,
- help, hidden, var=None,
+ help, hidden,
help_var=None, help_def=None):
''' Add an actual option.
@@ -96,17 +96,16 @@ class Project(object):
'''
if name in self.options:
raise KeyError(name)
+ var = as_var(name)
if check is not None:
assert type.__module__ == 'attoconf.types'
- if var is None:
- var = as_var(name)
else:
# used by some tests ... should this be fixed there instead?
if help_var is None:
- help_var = as_var(name)
+ help_var = var
if init is not None:
init = type(init)
- self.options[name] = Option(init=init, type=type, var=var)
+ self.options[name] = Option(init=init, type=type)
if check is not None:
self.order.append(var)
self.checks.append(
@@ -153,9 +152,8 @@ class Build(object):
'''
self.project = project
self.builddir = trim_trailing_slashes(builddir)
- self.vars = {o.var: o.init
- for o in project.options.itervalues()
- if o.var is not None}
+ self.vars = {as_var(k): o.init
+ for (k, o) in project.options.iteritems()}
self._seen_args = OrderedDict()
def apply_arg(self, arg):
@@ -184,7 +182,7 @@ class Build(object):
opt = self.project.options.get(k)
if opt is None:
raise sys.exit('Unknown option %s' % k)
- self.vars[opt.var] = opt.type(a)
+ self.vars[as_var(k)] = opt.type(a)
def finish(self):
''' With the current set of variables, run all the checks
@@ -218,7 +216,7 @@ class Build(object):
if val is not None:
self._seen_args[k] = val
opt = self.project.options[k]
- self.vars[opt.var] = opt.type(val)
+ self.vars[as_var(k)] = opt.type(val)
for arg in args:
self.apply_arg(arg)