mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-23 14:49:31 +00:00
More flexable broadcasting, broken by server/group/user on the api level
This commit is contained in:
@@ -162,23 +162,24 @@ class JabberService(BaseService):
|
||||
|
||||
return resp.read().strip()[:2] == 'OK'
|
||||
|
||||
def announce(self, server, message, subject=None, users=[], groups=[]):
|
||||
def announce(self, server, message, subject=None, users=[], groups=[], servers=[]):
|
||||
|
||||
if 'all' in groups:
|
||||
dest = ['%s/announce/online' % server for server in self.settings['jabber_announce_servers']]
|
||||
else:
|
||||
dest = []
|
||||
dest = []
|
||||
if len(severs):
|
||||
if 'all' in servers:
|
||||
dest = ['%s/announce/all-hosts/online' % self.settings['jabber_server']]
|
||||
else:
|
||||
dest = ['%s/announce/online' % server for server in servers]
|
||||
|
||||
if len(users):
|
||||
for u in set(users):
|
||||
dest.append(u)
|
||||
if len(users):
|
||||
for u in set(users):
|
||||
dest.append(u)
|
||||
|
||||
elif len(groups):
|
||||
for g in groups:
|
||||
dest.extend([x for x in self.get_group_members(server, g)])
|
||||
|
||||
dest = set(dest)
|
||||
if len(groups):
|
||||
for g in groups:
|
||||
dest.extend([x for x in self.get_group_members(server, g)])
|
||||
|
||||
dest = set(dest)
|
||||
if len(dest):
|
||||
return self.send_message(dest, message, subject)
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user