Hide unneccessary attributes

This commit is contained in:
Roy Hyunjin Han 2015-02-15 17:17:07 -05:00
commit 4dea8b080e

View file

@ -197,17 +197,16 @@ class SocketIO(object):
self, host, port=None, Namespace=None, self, host, port=None, Namespace=None,
wait_for_connection=True, transports=TRANSPORTS, wait_for_connection=True, transports=TRANSPORTS,
resource='socket.io', **kw): resource='socket.io', **kw):
self.is_secure, self.base_url = _parse_host(host, port, resource) self.is_secure, self._base_url = _parse_host(host, port, resource)
self.wait_for_connection = wait_for_connection self.wait_for_connection = wait_for_connection
self._namespace_by_path = {} self._namespace_by_path = {}
self.client_supported_transports = transports self._client_supported_transports = transports
self.kw = kw self._kw = kw
if Namespace: if Namespace:
self.define(Namespace) self.define(Namespace)
def log(self, level, msg, *attrs): def _log(self, level, msg, *attrs):
_log.log(level, '%s: %s' % (self.base_url, msg), _log.log(level, '%s: %s' % (self._base_url, msg), *attrs)
*attrs)
def __enter__(self): def __enter__(self):
return self return self
@ -240,7 +239,8 @@ class SocketIO(object):
def wait(self, seconds=None, for_callbacks=False): def wait(self, seconds=None, for_callbacks=False):
"""Wait in a loop and process events as defined in the namespaces. """Wait in a loop and process events as defined in the namespaces.
Omit seconds, i.e. call wait() without arguments, to wait forever.
- Omit seconds, i.e. call wait() without arguments, to wait forever.
""" """
warning_screen = _yield_warning_screen(seconds) warning_screen = _yield_warning_screen(seconds)
timeout = min(self._heartbeat_interval, seconds) timeout = min(self._heartbeat_interval, seconds)
@ -252,13 +252,13 @@ class SocketIO(object):
self._process_events(timeout) self._process_events(timeout)
except TimeoutError: except TimeoutError:
pass pass
next(self.heartbeat_pacemaker) next(self._heartbeat_pacemaker)
except ConnectionError as e: except ConnectionError as e:
try: try:
warning = Exception('[connection error] %s' % e) warning = Exception('[connection error] %s' % e)
warning_screen.throw(warning) warning_screen.throw(warning)
except StopIteration: except StopIteration:
self.log(logging.WARNING, warning) self._log(logging.WARNING, warning)
self.disconnect() self.disconnect()
def _process_events(self, timeout=None): def _process_events(self, timeout=None):
@ -266,7 +266,7 @@ class SocketIO(object):
try: try:
self._process_packet(packet) self._process_packet(packet)
except PacketError as e: except PacketError as e:
self.log(logging.WARNING, '[packet error] %s', e) self._log(logging.WARNING, '[packet error] %s', e)
def _process_packet(self, packet): def _process_packet(self, packet):
code, packet_id, path, data = packet code, packet_id, path, data = packet
@ -314,7 +314,7 @@ class SocketIO(object):
for elapsed_time in warning_screen: for elapsed_time in warning_screen:
try: try:
socketIO_session = _get_socketIO_session( socketIO_session = _get_socketIO_session(
self.is_secure, self.base_url, **self.kw) self.is_secure, self._base_url, **self._kw)
break break
except ConnectionError as e: except ConnectionError as e:
if not self.wait_for_connection: if not self.wait_for_connection:
@ -323,11 +323,11 @@ class SocketIO(object):
try: try:
warning_screen.throw(warning) warning_screen.throw(warning)
except StopIteration: except StopIteration:
self.log(logging.WARNING, warning) self._log(logging.WARNING, warning)
supported_transports = self._get_supported_transports(socketIO_session) supported_transports = self._get_supported_transports(socketIO_session)
self.heartbeat_pacemaker = self._make_heartbeat_pacemaker( self._heartbeat_pacemaker = self._make_heartbeat_pacemaker(
heartbeat_timeout=socketIO_session.heartbeat_timeout) heartbeat_timeout=socketIO_session.heartbeat_timeout)
next(self.heartbeat_pacemaker) next(self._heartbeat_pacemaker)
for elapsed_time in warning_screen: for elapsed_time in warning_screen:
try: try:
self.__transport = self._get_transport( self.__transport = self._get_transport(
@ -344,30 +344,28 @@ class SocketIO(object):
return self.__transport return self.__transport
def _get_supported_transports(self, session): def _get_supported_transports(self, session):
self.log( self._log( logging.DEBUG, '[transports available] %s',
logging.DEBUG,
'[transports available] %s',
' '.join(session.server_supported_transports)) ' '.join(session.server_supported_transports))
supported_transports = list(set( supported_transports = [
session.server_supported_transports, x for x in self._client_supported_transports if
).intersection(self.client_supported_transports)) x in session.server_supported_transports]
if not supported_transports: if not supported_transports:
raise SocketIOError(' '.join([ raise SocketIOError(' '.join([
'could not negotiate a transport:', 'could not negotiate a transport:',
'client supports %s but' % ', '.join( 'client supports %s but' % ', '.join(
self.client_supported_transports), self._client_supported_transports),
'server supports %s' % ', '.join( 'server supports %s' % ', '.join(
session.server_supported_transports), session.server_supported_transports),
])) ]))
return supported_transports return supported_transports
def _get_transport(self, session, transport_name): def _get_transport(self, session, transport_name):
self.log(logging.DEBUG, '[trying transport] %s', transport_name) self._log(logging.DEBUG, '[trying transport] %s', transport_name)
return { return {
'websocket': _WebsocketTransport, 'websocket': _WebsocketTransport,
'xhr-polling': _XHR_PollingTransport, 'xhr-polling': _XHR_PollingTransport,
'jsonp-polling': _JSONP_PollingTransport, 'jsonp-polling': _JSONP_PollingTransport,
}[transport_name](session, self.is_secure, self.base_url, **self.kw) }[transport_name](session, self.is_secure, self._base_url, **self._kw)
def _make_heartbeat_pacemaker(self, heartbeat_timeout): def _make_heartbeat_pacemaker(self, heartbeat_timeout):
self._heartbeat_interval = heartbeat_timeout / 2 self._heartbeat_interval = heartbeat_timeout / 2