Commit 0fe8fce7 authored by Skip Montanaro's avatar Skip Montanaro

(HTML|Text)Repr.repr1: Guard against objects whos types have no __name__

attribute. Patch and bug report from Geoff Talvola. Closes patch #672855.
parent 896e5164
...@@ -312,10 +312,10 @@ class HTMLRepr(Repr): ...@@ -312,10 +312,10 @@ class HTMLRepr(Repr):
return Repr.repr(self, object) return Repr.repr(self, object)
def repr1(self, x, level): def repr1(self, x, level):
if hasattr(type(x), '__name__'):
methodname = 'repr_' + join(split(type(x).__name__), '_') methodname = 'repr_' + join(split(type(x).__name__), '_')
if hasattr(self, methodname): if hasattr(self, methodname):
return getattr(self, methodname)(x, level) return getattr(self, methodname)(x, level)
else:
return self.escape(cram(stripid(repr(x)), self.maxother)) return self.escape(cram(stripid(repr(x)), self.maxother))
def repr_string(self, x, level): def repr_string(self, x, level):
...@@ -874,10 +874,10 @@ class TextRepr(Repr): ...@@ -874,10 +874,10 @@ class TextRepr(Repr):
self.maxstring = self.maxother = 100 self.maxstring = self.maxother = 100
def repr1(self, x, level): def repr1(self, x, level):
if hasattr(type(x), '__name__'):
methodname = 'repr_' + join(split(type(x).__name__), '_') methodname = 'repr_' + join(split(type(x).__name__), '_')
if hasattr(self, methodname): if hasattr(self, methodname):
return getattr(self, methodname)(x, level) return getattr(self, methodname)(x, level)
else:
return cram(stripid(repr(x)), self.maxother) return cram(stripid(repr(x)), self.maxother)
def repr_string(self, x, level): def repr_string(self, x, level):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment