[pybank] Add kwargs to the invocation



commit a88ce5bc09536c67d5a31df2fa630586fbf8b531
Author: Tomeu Vizoso <tomeu sugarlabs org>
Date:   Thu May 21 14:42:53 2009 +0200

    Add kwargs to the invocation
---
 bank/btypes.py |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/bank/btypes.py b/bank/btypes.py
index 34fd416..05b95d6 100644
--- a/bank/btypes.py
+++ b/bank/btypes.py
@@ -108,13 +108,14 @@ class Callable(object):
         if is_method:
             requiredArgs += 1
 
-        totalInArgs = len(args) + len(kwargs)
+        # TODO: put the kwargs in their right positions
+        totalInArgs = args + tuple(kwargs.values())
 
-        if totalInArgs != requiredArgs:
+        if len(totalInArgs) != requiredArgs:
             raise TypeError('%r requires %d arguments, passed %d instead.' % (
                 self, requiredArgs, totalInArgs))
 
-        for i, value in enumerate(args):
+        for i, value in enumerate(totalInArgs):
             if not is_method or i > 0:
                 off = is_method and 1 or 0
                 infoArg = infoArgs[i - off]
@@ -122,7 +123,7 @@ class Callable(object):
                 name = infoArg.getName()
                 self.type_check(name, value, argType)
 
-        retval = self.info.invoke(*args)
+        retval = self.info.invoke(*totalInArgs)
 
         if self.info.isConstructor():
             return None



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]