changeset 4bb338fce36f in /home/hg/repos/gajim
branches:
details:http://hg.gajim.org/gajim?cmd=changeset;node=4bb338fce36f
description: fix privacy lists: Don't use several time the same order number.
Fixes #7352
diffstat:
src/common/connection.py | 14 ++++++++++++--
src/groupchat_control.py | 3 ++-
2 files changed, 14 insertions(+), 3 deletions(-)
diffs (51 lines):
diff -r 38a2c340f3c0 -r 4bb338fce36f src/common/connection.py
--- a/src/common/connection.py Sat May 25 20:53:36 2013 +0200
+++ b/src/common/connection.py Sun May 26 12:58:19 2013 +0200
@@ -1603,6 +1603,14 @@
iq.setQuery().setTag('active', {'name': name})
self.connection.send(iq)
+ def get_max_blocked_list_order(self):
+ max_order = 0
+ for rule in self.blocked_list:
+ order = int(rule['order'])
+ if order > max_order:
+ max_order = order
+ return max_order
+
def block_contacts(self, contact_list, message):
if not self.privacy_rules_supported:
if self.blocking_supported: #XEP-0191
@@ -1616,7 +1624,8 @@
return
for contact in contact_list:
self.send_custom_status('offline', message, contact.jid)
- new_rule = {'order': '1', 'type': 'jid', 'action': 'deny',
+ max_order = self.get_max_blocked_list_order()
+ new_rule = {'order': str(max_order + 1), 'type': 'jid', 'action':
'deny',
'value' : contact.jid, 'child': ['message', 'iq',
'presence-out']}
self.blocked_list.append(new_rule)
@@ -1672,7 +1681,8 @@
self.blocked_groups.append(group)
for contact in contact_list:
self.send_custom_status('offline', message, contact.jid)
- new_rule = {'order': '1', 'type': 'group', 'action': 'deny',
+ max_order = self.get_max_blocked_list_order()
+ new_rule = {'order': str(max_order + 1), 'type': 'group', 'action':
'deny',
'value' : group, 'child': ['message', 'iq', 'presence-out']}
self.blocked_list.append(new_rule)
self.set_privacy_list('block', self.blocked_list)
diff -r 38a2c340f3c0 -r 4bb338fce36f src/groupchat_control.py
--- a/src/groupchat_control.py Sat May 25 20:53:36 2013 +0200
+++ b/src/groupchat_control.py Sun May 26 12:58:19 2013 +0200
@@ -2757,7 +2757,8 @@
connection = gajim.connections[self.account]
if fjid in connection.blocked_contacts:
return
- new_rule = {'order': u'1', 'type': u'jid', 'action': u'deny',
+ max_order = connection.get_max_blocked_list_order()
+ new_rule = {'order': str(max_order + 1), 'type': u'jid', 'action':
u'deny',
'value' : fjid, 'child': [u'message', u'iq', u'presence-out']}
connection.blocked_list.append(new_rule)
connection.blocked_contacts.append(fjid)
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits