Introduced new setting for broadcast service.

Changed broadcast logic to use broadcase openfire plugin.
Inital, untested commit.
This commit is contained in:
Adarnof 2015-11-28 00:33:16 +00:00
parent 42e833b2e0
commit 0c1bf29dd3
2 changed files with 29 additions and 22 deletions

View File

@ -302,6 +302,7 @@ OPENFIRE_ADDRESS = os.environ.get('AA_OPENFIRE_ADDRESS', "http://yourdomain.com:
OPENFIRE_SECRET_KEY = os.environ.get('AA_OPENFIRE_SECRET_KEY', "somekey")
BROADCAST_USER = os.environ.get('AA_BROADCAST_USER', "broadcast@") + JABBER_URL
BROADCAST_USER_PASSWORD = os.environ.get('AA_BROADCAST_USER_PASSWORD', "somepassword")
BROADCAST_SERVICE_NAME = os.environ.get('AA_BROADCAST_SERVICE_NAME', "broadcast")
######################################
# Mumble Configuration

View File

@ -103,27 +103,33 @@ class OpenfireManager:
client.connect(server=(settings.JABBER_SERVER, settings.JABBER_PORT))
client.auth(settings.BROADCAST_USER, settings.BROADCAST_USER_PASSWORD, 'broadcast')
if group_name != 'all':
group = Group.objects.get(name=group_name)
for user in group.user_set.all():
auth_info = AuthServicesInfoManager.get_auth_service_info(user)
if auth_info:
if auth_info.jabber_username != "":
to_address = auth_info.jabber_username + '@' + settings.JABBER_URL
message = xmpp.Message(to_address, broadcast_message)
message.setAttr('type', 'chat')
client.send(message)
client.Process(1)
else:
for user in User.objects.all():
auth_info = AuthServicesInfoManager.get_auth_service_info(user)
if auth_info:
if auth_info.jabber_username != "":
to_address = auth_info.jabber_username + '@' + settings.JABBER_URL
message = xmpp.Message(to_address, broadcast_message)
message.setAttr('type', 'chat')
client.send(message)
client.Process(1)
# if group_name != 'all':
# group = Group.objects.get(name=group_name)
# for user in group.user_set.all():
# auth_info = AuthServicesInfoManager.get_auth_service_info(user)
# if auth_info:
# if auth_info.jabber_username != "":
# to_address = auth_info.jabber_username + '@' + settings.JABBER_URL
# message = xmpp.Message(to_address, broadcast_message)
# message.setAttr('type', 'chat')
# client.send(message)
# client.Process(1)
# else:
# for user in User.objects.all():
# auth_info = AuthServicesInfoManager.get_auth_service_info(user)
# if auth_info:
# if auth_info.jabber_username != "":
# to_address = auth_info.jabber_username + '@' + settings.JABBER_URL
# message = xmpp.Message(to_address, broadcast_message)
# message.setAttr('type', 'chat')
# client.send(message)
# client.Process(1)
to_address = group_name + '@' + settings.BROADCAST_SERVICE_NAME + '.' + settings.JABBER_URL
message = xmpp.Message(to_address, broadcast_message)
message.setAttr('type', 'chat')
client.send(message)
client.Process(1)
client.disconnect()
@ -138,4 +144,4 @@ class XmppThread (threading.Thread):
def run(self):
print "Starting " + self.name
OpenfireManager.send_broadcast_message(self.group, self.message)
print "Exiting " + self.name
print "Exiting " + self.name