summaryrefslogtreecommitdiffstats
path: root/exception.py
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2001-08-21 18:43:15 +0000
committerMatt Wilson <msw@redhat.com>2001-08-21 18:43:15 +0000
commitcd422ac51077d7a4008a5f387d8f84e30357049c (patch)
treeb2af9dd809a849eeef4530e1a43e012bfefa6dfb /exception.py
parent8f024d98bf3dc8808b88e12cd83f347f0513f3fa (diff)
downloadanaconda-cd422ac51077d7a4008a5f387d8f84e30357049c.tar.gz
anaconda-cd422ac51077d7a4008a5f387d8f84e30357049c.tar.xz
anaconda-cd422ac51077d7a4008a5f387d8f84e30357049c.zip
mmmmm, more dump data
Diffstat (limited to 'exception.py')
-rw-r--r--exception.py36
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: