You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
978 B
34 lines
978 B
9 months ago
|
class BaseNamespace(object):
|
||
|
def __init__(self, namespace=None):
|
||
|
self.namespace = namespace or '/'
|
||
|
|
||
|
def is_asyncio_based(self):
|
||
|
return False
|
||
|
|
||
|
|
||
|
class BaseServerNamespace(BaseNamespace):
|
||
|
def __init__(self, namespace=None):
|
||
|
super().__init__(namespace=namespace)
|
||
|
self.server = None
|
||
|
|
||
|
def _set_server(self, server):
|
||
|
self.server = server
|
||
|
|
||
|
def rooms(self, sid, namespace=None):
|
||
|
"""Return the rooms a client is in.
|
||
|
|
||
|
The only difference with the :func:`socketio.Server.rooms` method is
|
||
|
that when the ``namespace`` argument is not given the namespace
|
||
|
associated with the class is used.
|
||
|
"""
|
||
|
return self.server.rooms(sid, namespace=namespace or self.namespace)
|
||
|
|
||
|
|
||
|
class BaseClientNamespace(BaseNamespace):
|
||
|
def __init__(self, namespace=None):
|
||
|
super().__init__(namespace=namespace)
|
||
|
self.client = None
|
||
|
|
||
|
def _set_client(self, client):
|
||
|
self.client = client
|