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.
This commit is contained in:
Jeremy Hylton 2001-04-20 19:04:55 +00:00
parent 55ad67d74d
commit 12e73bb2f0
1 changed files with 16 additions and 11 deletions

View File

@ -50,6 +50,7 @@ import exceptions
import select import select
import socket import socket
import sys import sys
import types
import os import os
if os.name == 'nt': if os.name == 'nt':
@ -215,19 +216,22 @@ class dispatcher:
elif self.connected: elif self.connected:
status.append ('connected') status.append ('connected')
if self.addr: if self.addr:
if self.addr == types.TupleType:
status.append ('%s:%d' % self.addr) status.append ('%s:%d' % self.addr)
return '<%s %s at %x>' % ( else:
self.__class__.__name__, status.append (self.addr)
' '.join (status), return '<%s %s at %x>' % (self.__class__.__name__,
id(self) ' '.join (status), id (self))
)
except: except:
pass
try: try:
ar = repr (self.addr) ar = repr (self.addr)
except: except AttributeError:
ar = 'no self.addr!' 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): def add_channel (self, map=None):
#self.log_info ('adding channel %s' % self) #self.log_info ('adding channel %s' % self)
@ -299,6 +303,7 @@ class dispatcher:
def connect (self, address): def connect (self, address):
self.connected = 0 self.connected = 0
# XXX why not use connect_ex?
try: try:
self.socket.connect (address) self.socket.connect (address)
except socket.error, why: except socket.error, why: