mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 06:42:16 +00:00
Various fixes for the Jabber service
This commit is contained in:
@@ -85,18 +85,18 @@ class JabberService(BaseService):
|
|||||||
|
|
||||||
def get_group_list(self, server):
|
def get_group_list(self, server):
|
||||||
srvgrp = self.exec_xmlrpc('srg_list', host=server)
|
srvgrp = self.exec_xmlrpc('srg_list', host=server)
|
||||||
return [grp for grp in srvgrp['groups']]
|
return [grp['id'] for grp in srvgrp['groups']]
|
||||||
|
|
||||||
def get_group_members(self, server, group):
|
def get_group_members(self, server, group):
|
||||||
members = self.exec_xmlrpc('srg_get_members', group=grp['id'], host=server)
|
members = self.exec_xmlrpc('srg_get_members', group=group, host=server)
|
||||||
return [x for x in members['members']]
|
return [x['member'] for x in members['members']]
|
||||||
|
|
||||||
def get_user_groups(self, uid):
|
def get_user_groups(self, uid):
|
||||||
grouplist = []
|
grouplist = []
|
||||||
username, server = uid.split("@")
|
username, server = uid.split("@")
|
||||||
for grp in self.get_group_list(server):
|
for grp in self.get_group_list(server):
|
||||||
if uid in self.get_group_members(sever, grp['id']):
|
if uid in self.get_group_members(server, grp):
|
||||||
grouplist.append(grp['id'])
|
grouplist.append(grp)
|
||||||
return grouplist
|
return grouplist
|
||||||
|
|
||||||
def update_groups(self, uid, groups, character=None):
|
def update_groups(self, uid, groups, character=None):
|
||||||
@@ -117,7 +117,7 @@ class JabberService(BaseService):
|
|||||||
def send_message(self, jid, msg):
|
def send_message(self, jid, msg):
|
||||||
# send_stanza_c2s user host resource stanza
|
# send_stanza_c2s user host resource stanza
|
||||||
username, server = jid.split("@")
|
username, server = jid.split("@")
|
||||||
self.exec_xmlrpc('send_stanza_c2s', user=username, host=server, resource='auth', stanza=msg)
|
self.exec_xmlrpc('send_stanza_c2s', user=username, host=server, resource='auth', stanza=str(msg))
|
||||||
|
|
||||||
def announce(self, server, message, subject=None, all=False, users=[], groups=[]):
|
def announce(self, server, message, subject=None, all=False, users=[], groups=[]):
|
||||||
import xmpp
|
import xmpp
|
||||||
@@ -139,9 +139,9 @@ class JabberService(BaseService):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
elif len(groups):
|
elif len(groups):
|
||||||
lolist = []
|
tolist = []
|
||||||
for g in groups:
|
for g in groups:
|
||||||
tolist.extend([x for x in get_group_members(server, g)])
|
tolist.extend([x for x in self.get_group_members(server, g)])
|
||||||
return self.announce(server, message, subject, users=tolist)
|
return self.announce(server, message, subject, users=tolist)
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|||||||
Reference in New Issue
Block a user