diff options
author | Matt Wilson <msw@redhat.com> | 2001-08-21 18:43:15 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 2001-08-21 18:43:15 +0000 |
commit | cd422ac51077d7a4008a5f387d8f84e30357049c (patch) | |
tree | b2af9dd809a849eeef4530e1a43e012bfefa6dfb /exception.py | |
parent | 8f024d98bf3dc8808b88e12cd83f347f0513f3fa (diff) | |
download | anaconda-cd422ac51077d7a4008a5f387d8f84e30357049c.tar.gz anaconda-cd422ac51077d7a4008a5f387d8f84e30357049c.tar.xz anaconda-cd422ac51077d7a4008a5f387d8f84e30357049c.zip |
mmmmm, more dump data
Diffstat (limited to 'exception.py')
-rw-r--r-- | exception.py | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/exception.py b/exception.py index 2390d82f8..ce15eaa0b 100644 --- a/exception.py +++ b/exception.py @@ -36,11 +36,45 @@ def dumpClass(instance, fd, level=0): else: fd.write("Already dumped\n") return + if (instance.__class__.__dict__.has_key("__str__") or + instance.__class__.__dict__.has_key("__repr__")): + fd.write("%s\n" % (instance,)) + return fd.write("%s instance, containing members:\n" % (instance.__class__.__name__)) pad = ' ' * ((level) * 2) for key, value in instance.__dict__.items(): - if type(value) == types.InstanceType: + if type(value) == types.ListType: + fd.write("%s%s: [" % (pad, key)) + first = 1 + for item in value: + if not first: + fd.write(", ") + else: + first = 0 + if type(item) == types.InstanceType: + dumpClass(item, fd, level + 1) + else: + fd.write("%s" % (item,)) + fd.write("]\n") + elif type(value) == types.DictType: + fd.write("%s%s: {" % (pad, key)) + first = 1 + for k, v in value.items(): + if not first: + fd.write(", ") + else: + first = 0 + if type(k) == types.StringType: + fd.write("'%s': " % (k,)) + else: + fd.write("%s: " % (k,)) + if type(v) == types.InstanceType: + dumpClass(v, fd, level + 1) + else: + fd.write("%s" % (v,)) + fd.write("}\n") + elif type(value) == types.InstanceType: fd.write("%s%s: " % (pad, key)) dumpClass(value, fd, level + 1) else: |