--- a/fixbot/config.py Thu Feb 04 19:17:29 2010 +0200
+++ b/fixbot/config.py Thu Feb 04 19:38:54 2010 +0200
@@ -22,7 +22,10 @@
self.opts = opts
self.defaults = defaults
- def _map_name (self, name) :
+ # temp. vars
+ self.locals = {}
+
+ def optname (self, name) :
return name.replace('_', '-')
def __getitem__ (self, name) :
@@ -30,7 +33,20 @@
Map from foo_bar -> foo-bar
"""
- return self.opts[self._map_name(name)]
+ # translate
+ optname = self.optname(name)
+
+ if optname in self.opts :
+ # normal long opt
+ return self.opts[optname]
+
+ elif name in self.locals :
+ # temp local
+ return self.locals[name]
+
+ else :
+ # unknown
+ raise NameError(name)
def __setitem__ (self, name, value) :
"""
@@ -45,15 +61,15 @@
return
# translate name
- name = self._map_name(name)
+ optname = self.optname(name)
- if name in self.opts :
+ if optname in self.opts :
# normal long opt
- pass
+ name = optname
else :
- # fail
- raise NameError(name)
+ # store as a local
+ store = self.locals
# store
store[name] = value