diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | dispatch.py | 18 |
2 files changed, 16 insertions, 8 deletions
@@ -1,3 +1,9 @@ +2005-12-01 David Cantrell <dcantrell@redhat.com> + + * dispatch.py (Dispatch.bindArgs): Make sure args is a tuple or + list type before running the for loop. If called while in the + installpackages state, args is a function. + 2005-12-01 Jeremy Katz <katzj@redhat.com> * loader2/loader.c (main): Load squashfs. diff --git a/dispatch.py b/dispatch.py index c702c57ee..46433a612 100644 --- a/dispatch.py +++ b/dispatch.py @@ -237,14 +237,16 @@ class Dispatcher: def bindArgs(self, args): newArgs = () - for arg in args: - obj = self - for item in string.split(arg, '.'): - if not obj.__dict__.has_key(item): - exec "obj = self.%s" %(arg,) - break - obj = obj.__dict__[item] - newArgs = newArgs + (obj,) + + if type(args) == TupleType or type(args) == ListType: + for arg in args: + obj = self + for item in string.split(arg, '.'): + if not obj.__dict__.has_key(item): + exec "obj = self.%s" %(arg,) + break + obj = obj.__dict__[item] + newArgs = newArgs + (obj,) return newArgs |