summaryrefslogtreecommitdiff
path: root/configuration.py
diff options
context:
space:
mode:
Diffstat (limited to 'configuration.py')
-rw-r--r--configuration.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/configuration.py b/configuration.py
index 969e36d..e90a0f2 100644
--- a/configuration.py
+++ b/configuration.py
@@ -646,9 +646,9 @@ class Method(object):
if self._inst is None:
self._inst = instance
- def __call__(self):
+ def __call__(self, *args, **kwargs):
assert self._inst, 'unbound method'
- return getattr(self._inst, self.method)()
+ return getattr(self._inst, self.method)(*args, **kwargs)
class OptionsProviderMixIn(object):
@@ -668,6 +668,8 @@ class OptionsProviderMixIn(object):
raise Exception('Bad option: %r' % option)
if isinstance(optdict.get('default'), Method):
optdict['default'].bind(self)
+ elif isinstance(optdict.get('callback'), Method):
+ optdict['callback'].bind(self)
self.load_defaults()
def load_defaults(self):