diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-04-20 19:04:55 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-04-20 19:04:55 (GMT) |
commit | 12e73bb2f08db45fb92bf2aa57992424351be03d (patch) | |
tree | 0a09ef4d8e21adfb0579595d1bebea3fc5ffd76f /Lib/asyncore.py | |
parent | 55ad67d74dea7e04c929319d3b92b4d9481c009c (diff) | |
download | cpython-12e73bb2f08db45fb92bf2aa57992424351be03d.zip cpython-12e73bb2f08db45fb92bf2aa57992424351be03d.tar.gz cpython-12e73bb2f08db45fb92bf2aa57992424351be03d.tar.bz2 |
dispatcher.__repr__() was unprepared to handle the address for a Unix
domain socket. Fix that and make the error message for failures a
little more helpful by including the class name.
Diffstat (limited to 'Lib/asyncore.py')
-rw-r--r-- | Lib/asyncore.py | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/Lib/asyncore.py b/Lib/asyncore.py index 145da58..8c9ec63 100644 --- a/Lib/asyncore.py +++ b/Lib/asyncore.py @@ -50,6 +50,7 @@ import exceptions import select import socket import sys +import types import os if os.name == 'nt': @@ -215,19 +216,22 @@ class dispatcher: elif self.connected: status.append ('connected') if self.addr: - status.append ('%s:%d' % self.addr) - return '<%s %s at %x>' % ( - self.__class__.__name__, - ' '.join (status), - id(self) - ) + if self.addr == types.TupleType: + status.append ('%s:%d' % self.addr) + else: + status.append (self.addr) + return '<%s %s at %x>' % (self.__class__.__name__, + ' '.join (status), id (self)) except: - try: - ar = repr(self.addr) - except: - ar = 'no self.addr!' + pass + + try: + ar = repr (self.addr) + except AttributeError: + ar = 'no self.addr!' - return '<__repr__ (self) failed for object at %x (addr=%s)>' % (id(self),ar) + return '<__repr__() failed for %s instance at %x (addr=%s)>' % \ + (self.__class__.__name__, id (self), ar) def add_channel (self, map=None): #self.log_info ('adding channel %s' % self) @@ -299,6 +303,7 @@ class dispatcher: def connect (self, address): self.connected = 0 + # XXX why not use connect_ex? try: self.socket.connect (address) except socket.error, why: |