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 celeryd: make celeryd
taskmanager: make taskmanager taskmanager: make taskmanager
receiver: make receiver receiver: make receiver
socketservice: make socketservice
factcacher: make factcacher factcacher: make factcacher
flower: make flower flower: make flower

View File

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