changeset 6771b91032cd in /home/hg/repos/gajim

details:http://hg.gajim.org/gajim?cmd=changeset;node=6771b91032cd
description: * clean roster tables when we remove an account

diffstat:

 src/common/logger.py |  15 +++++++++++++--
 src/config.py        |   1 +
 2 files changed, 14 insertions(+), 2 deletions(-)

diffs (48 lines):

diff -r b67198acb52f -r 6771b91032cd src/common/logger.py
--- a/src/common/logger.py      Sat Jun 27 20:54:49 2009 +0200
+++ b/src/common/logger.py      Sun Jun 28 20:43:18 2009 +0200
@@ -858,7 +858,7 @@
                        jid_id = self.get_jid_id(jid)
                except exceptions.PysqliteOperationalError, e:
                        raise exceptions.PysqliteOperationalError(str(e))
-               sql = 'DELETE FROM roster_entry WHERE account_jid_id = %d AND 
jid_id = %d' % (account_jid_id, jid_id)
+               sql = 'DELETE FROM roster_entry WHERE account_jid_id=%d AND 
jid_id=%d' % (account_jid_id, jid_id)
                self.simple_commit(sql)
 
        def add_or_update_contact(self, account_jid, jid, name, sub, ask, 
groups):
@@ -875,7 +875,7 @@
 
                # Update groups information
                # First we delete all previous groups information
-               sql = 'DELETE FROM roster_group WHERE account_jid_id = %d AND 
jid_id = %d' % (account_jid_id, jid_id)
+               sql = 'DELETE FROM roster_group WHERE account_jid_id=%d AND 
jid_id=%d' % (account_jid_id, jid_id)
                self.cur.execute(sql)
                # Then we add all new groups information
                for group in groups:
@@ -923,4 +923,15 @@
 
                return data
 
+       def remove_roster(self, account_jid):
+               account_jid_id = self.get_jid_id(account_jid)
+
+               sql = 'DELETE FROM roster_group WHERE account_jid_id=%d' % (
+                       account_jid_id)
+               self.cur.execute(sql)
+
+               sql = 'DELETE FROM roster_entry WHERE account_jid_id=%d' % (
+                       account_jid_id)
+               self.simple_commit(sql)
+
 # vim: se ts=3:
diff -r b67198acb52f -r 6771b91032cd src/config.py
--- a/src/config.py     Sat Jun 27 20:54:49 2009 +0200
+++ b/src/config.py     Sun Jun 28 20:43:18 2009 +0200
@@ -2632,6 +2632,7 @@
                gajim.interface.roster.close_all(self.account, force = True)
                gajim.connections[self.account].disconnect(on_purpose = True)
                del gajim.connections[self.account]
+               
gajim.logger.remove_roster(gajim.get_jid_from_account(self.account))
                gajim.config.del_per('accounts', self.account)
                gajim.interface.save_config()
                del gajim.interface.instances[self.account]
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to