Skip to content

Commit 214abc8

Browse files
minor class-based namespace fixes
1 parent 5cc9199 commit 214abc8

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

socketio/namespace.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,17 @@ def __init__(self, namespace=None):
1414
self.namespace = namespace or '/'
1515
self.server = None
1616

17-
def set_server(self, server):
17+
def _set_server(self, server):
1818
self.server = server
1919

2020
def trigger_event(self, event, *args):
21+
"""Dispatch an event to the proper handler method.
22+
23+
In the most common usage, this method is not overloaded by subclasses,
24+
as it performs the routing of events to methods. However, this
25+
method can be overriden if special dispatching rules are needed, or if
26+
having a single method that catches all events is desired.
27+
"""
2128
handler_name = 'on_' + event
2229
if hasattr(self, handler_name):
2330
return getattr(self, handler_name)(*args)

socketio/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def register_namespace(self, namespace_handler):
161161
"""
162162
if not isinstance(namespace_handler, namespace.Namespace):
163163
raise ValueError('Not a namespace instance')
164-
namespace_handler.set_server(self)
164+
namespace_handler._set_server(self)
165165
self.namespace_handlers[namespace_handler.namespace] = \
166166
namespace_handler
167167

tests/test_namespace.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def on_connect(self, sid, environ):
1717
result['result'] = (sid, environ)
1818

1919
ns = MyNamespace('/foo')
20-
ns.set_server(mock.MagicMock())
20+
ns._set_server(mock.MagicMock())
2121
ns.trigger_event('connect', 'sid', {'foo': 'bar'})
2222
self.assertEqual(result['result'], ('sid', {'foo': 'bar'}))
2323

@@ -29,7 +29,7 @@ def on_disconnect(self, sid):
2929
result['result'] = sid
3030

3131
ns = MyNamespace('/foo')
32-
ns.set_server(mock.MagicMock())
32+
ns._set_server(mock.MagicMock())
3333
ns.trigger_event('disconnect', 'sid')
3434
self.assertEqual(result['result'], 'sid')
3535

@@ -41,7 +41,7 @@ def on_custom_message(self, sid, data):
4141
result['result'] = (sid, data)
4242

4343
ns = MyNamespace('/foo')
44-
ns.set_server(mock.MagicMock())
44+
ns._set_server(mock.MagicMock())
4545
ns.trigger_event('custom_message', 'sid', {'data': 'data'})
4646
self.assertEqual(result['result'], ('sid', {'data': 'data'}))
4747

@@ -53,13 +53,13 @@ def on_custom_message(self, sid, data):
5353
result['result'] = (sid, data)
5454

5555
ns = MyNamespace('/foo')
56-
ns.set_server(mock.MagicMock())
56+
ns._set_server(mock.MagicMock())
5757
ns.trigger_event('another_custom_message', 'sid', {'data': 'data'})
5858
self.assertEqual(result, {})
5959

6060
def test_emit(self):
6161
ns = namespace.Namespace('/foo')
62-
ns.set_server(mock.MagicMock())
62+
ns._set_server(mock.MagicMock())
6363
ns.emit('ev', data='data', room='room', skip_sid='skip',
6464
callback='cb')
6565
ns.server.emit.assert_called_with(
@@ -73,7 +73,7 @@ def test_emit(self):
7373

7474
def test_send(self):
7575
ns = namespace.Namespace('/foo')
76-
ns.set_server(mock.MagicMock())
76+
ns._set_server(mock.MagicMock())
7777
ns.send(data='data', room='room', skip_sid='skip', callback='cb')
7878
ns.server.send.assert_called_with(
7979
'data', room='room', skip_sid='skip', namespace='/foo',
@@ -86,7 +86,7 @@ def test_send(self):
8686

8787
def test_enter_room(self):
8888
ns = namespace.Namespace('/foo')
89-
ns.set_server(mock.MagicMock())
89+
ns._set_server(mock.MagicMock())
9090
ns.enter_room('sid', 'room')
9191
ns.server.enter_room.assert_called_with('sid', 'room',
9292
namespace='/foo')
@@ -96,7 +96,7 @@ def test_enter_room(self):
9696

9797
def test_leave_room(self):
9898
ns = namespace.Namespace('/foo')
99-
ns.set_server(mock.MagicMock())
99+
ns._set_server(mock.MagicMock())
100100
ns.leave_room('sid', 'room')
101101
ns.server.leave_room.assert_called_with('sid', 'room',
102102
namespace='/foo')
@@ -106,23 +106,23 @@ def test_leave_room(self):
106106

107107
def test_close_room(self):
108108
ns = namespace.Namespace('/foo')
109-
ns.set_server(mock.MagicMock())
109+
ns._set_server(mock.MagicMock())
110110
ns.close_room('room')
111111
ns.server.close_room.assert_called_with('room', namespace='/foo')
112112
ns.close_room('room', namespace='/bar')
113113
ns.server.close_room.assert_called_with('room', namespace='/bar')
114114

115115
def test_rooms(self):
116116
ns = namespace.Namespace('/foo')
117-
ns.set_server(mock.MagicMock())
117+
ns._set_server(mock.MagicMock())
118118
ns.rooms('sid')
119119
ns.server.rooms.assert_called_with('sid', namespace='/foo')
120120
ns.rooms('sid', namespace='/bar')
121121
ns.server.rooms.assert_called_with('sid', namespace='/bar')
122122

123123
def test_disconnect(self):
124124
ns = namespace.Namespace('/foo')
125-
ns.set_server(mock.MagicMock())
125+
ns._set_server(mock.MagicMock())
126126
ns.disconnect('sid')
127127
ns.server.disconnect.assert_called_with('sid', namespace='/foo')
128128
ns.disconnect('sid', namespace='/bar')

0 commit comments

Comments
 (0)