@@ -116,8 +116,7 @@ def __init__(self, client_manager=None, logger=False, json=None,
116116 self .logger = logger
117117 else :
118118 self .logger = default_logger
119- if not logging .root .handlers and \
120- self .logger .level == logging .NOTSET :
119+ if self .logger .level == logging .NOTSET :
121120 if logger :
122121 self .logger .setLevel (logging .INFO )
123122 else :
@@ -621,15 +620,11 @@ def _handle_connect(self, eio_sid, namespace):
621620 self .manager .pre_disconnect (sid , namespace )
622621 self ._send_packet (eio_sid , packet .Packet (
623622 packet .DISCONNECT , data = fail_reason , namespace = namespace ))
624- elif namespace != '/' :
623+ else :
625624 self ._send_packet (eio_sid , packet .Packet (
626625 packet .CONNECT_ERROR , data = fail_reason ,
627626 namespace = namespace ))
628627 self .manager .disconnect (sid , namespace )
629- if namespace == '/' and \
630- eio_sid in self .environ : # pragma: no cover
631- del self .environ [eio_sid ]
632- return fail_reason or False
633628 elif not self .always_connect :
634629 self ._send_packet (eio_sid , packet .Packet (
635630 packet .CONNECT , {'sid' : sid }, namespace = namespace ))
@@ -638,10 +633,11 @@ def _handle_disconnect(self, eio_sid, namespace):
638633 """Handle a client disconnect."""
639634 namespace = namespace or '/'
640635 sid = self .manager .sid_from_eio_sid (eio_sid , namespace )
641- if self .manager .is_connected (sid , namespace ):
642- self .manager .pre_disconnect (sid , namespace = namespace )
643- self ._trigger_event ('disconnect' , namespace , sid )
644- self .manager .disconnect (sid , namespace )
636+ if not self .manager .is_connected (sid , namespace ): # pragma: no cover
637+ return
638+ self .manager .pre_disconnect (sid , namespace = namespace )
639+ self ._trigger_event ('disconnect' , namespace , sid )
640+ self .manager .disconnect (sid , namespace )
645641
646642 def _handle_event (self , eio_sid , namespace , id , data ):
647643 """Handle an incoming client event."""
@@ -731,7 +727,8 @@ def _handle_eio_message(self, eio_sid, data):
731727
732728 def _handle_eio_disconnect (self , eio_sid ):
733729 """Handle Engine.IO disconnect event."""
734- self ._handle_disconnect (eio_sid , '/' )
730+ for n in list (self .manager .get_namespaces ()).copy ():
731+ self ._handle_disconnect (eio_sid , n )
735732 if eio_sid in self .environ :
736733 del self .environ [eio_sid ]
737734
0 commit comments