Commit 85512b0a authored by Jeremy Hylton's avatar Jeremy Hylton

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.
parent c9b5ab58
...@@ -50,6 +50,7 @@ import exceptions ...@@ -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: ...@@ -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: ...@@ -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:
......
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