Skip to content

Instantly share code, notes, and snippets.

@dmfrancisco
Created April 26, 2012 07:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmfrancisco/951e149d62b048e9e468 to your computer and use it in GitHub Desktop.
Save dmfrancisco/951e149d62b048e9e468 to your computer and use it in GitHub Desktop.
Simple extension of the RoomsMixin (gevent-socketio)
from socketio.mixins import RoomsMixin
class ExtendedRoomsMixin(RoomsMixin):
def emit_to_room_not_me(self, room, event, *args):
"""This is sent to all in the room (in this particular Namespace) except itself"""
pkt = dict(type="event",
name=event,
args=args,
endpoint=self.ns_name)
room_name = self._get_room_name(room)
for sessid, socket in self.socket.server.sockets.iteritems():
if socket is not self.socket: # This prevents from sending to itself
if 'rooms' not in socket.session:
continue
if room_name in socket.session['rooms']:
socket.send_packet(pkt)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment