remove reply_channel from groups

This commit is contained in:
Wayne Witzel III
2016-08-24 10:52:47 -04:00
parent 4c8aaf1aed
commit 850934c89d
2 changed files with 7 additions and 4 deletions

View File

@@ -2,6 +2,5 @@ runserver: make runserver
celeryd: make celeryd
taskmanager: make taskmanager
receiver: make receiver
socketservice: make socketservice
factcacher: make factcacher
flower: make flower

View File

@@ -4,18 +4,22 @@ from channels import Group
from channels.sessions import channel_session
@channel_session
def ws_disconnect(message):
def discard_groups(message):
for group in message.channel_session['groups']:
print("removing from group: {}".format(group))
Group(group).discard(message.reply_channel)
@channel_session
def ws_disconnect(message):
discard_groups(message)
@channel_session
def ws_receive(message):
raw_data = message.content['text']
data = json.loads(raw_data)
if 'groups' in data:
discard_groups(message)
groups = data['groups']
current_groups = message.channel_session.pop('groups') if 'groups' in message.channel_session else []
for group_name,v in groups.items():
@@ -27,7 +31,7 @@ def ws_receive(message):
Group(name).add(message.reply_channel)
else:
print("listening to group: {}".format(group_name))
current_groups.append(name)
current_groups.append(group_name)
Group(group_name).add(message.reply_channel)
message.channel_session['groups'] = current_groups