diff options
author | Krzysztof Klinikowski <kkszysiu@gmail.com> | 2011-05-07 19:18:54 +0200 |
---|---|---|
committer | Krzysztof Klinikowski <kkszysiu@gmail.com> | 2011-05-07 19:18:54 +0200 |
commit | a4cd7229e2e931dbf3f8f3968b89213850f67885 (patch) | |
tree | 40d82c4d81bf2da8527f58ad556764ad95ee700e | |
parent | 32d13b51d7839ec38dc8d2b5676ed9864463bb29 (diff) |
Fixed bug where sometimes after logging in your contact was ungrouped.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | sunshine/channel/group.py | 58 |
2 files changed, 4 insertions, 55 deletions
@@ -84,3 +84,4 @@ /sunshine/util/config.pyc /sunshine/contacts_info.pyc /sunshine/Connection_Interface_Contact_Info.pyc +/sunshine/protocol.pyc diff --git a/sunshine/channel/group.py b/sunshine/channel/group.py index 375d07a..3c41730 100644 --- a/sunshine/channel/group.py +++ b/sunshine/channel/group.py @@ -99,66 +99,15 @@ class SunshineGroupChannel(SunshineListChannel): contact = contact_handle.contact group = self._handle.group + #if len(ab.contacts.search_by_groups(group)) == 0: + #raise telepathy.NotAvailable("Can't delete non-empty group") + self.delete_contact_from_group(group, contact, contact_handle) def Close(self): logger.debug("Deleting group %s" % self._handle.name) del self.conn.profile.groups[self._handle.name] -# ab = self._conn.msn_client.address_book -# group = self._handle.group -# ab.delete_group(group) - -# def _filter_contact(self, contact): -# if contact.is_member(papyon.Membership.FORWARD): -# for group in contact.groups: -# if group.name.decode("utf-8") == self._handle.name: -# return (True, False, False) -# return (False, False, False) -# -# def on_addressbook_group_added(self, group): -# if group.name.decode("utf-8") == self._handle.name: -# self.AddMembers(self.__pending_add, None) -# self.__pending_add = [] -# self.RemoveMembers(self.__pending_remove, None) -# self.__pending_remove = [] -# -# def on_addressbook_group_deleted(self, group): -# if group.name.decode("utf-8") == self._handle.name: -# self.Closed() -# self._conn.remove_channel(self) -# -# def on_addressbook_group_contact_added(self, group, contact): -# group_name = group.name.decode("utf-8") -# if group_name == self._handle.name: -# handle = ButterflyHandleFactory(self._conn_ref(), 'contact', -# contact.account, contact.network_id) -# -# added = set() -# added.add(handle) -# -# self.MembersChanged('', added, (), (), (), 0, -# telepathy.CHANNEL_GROUP_CHANGE_REASON_NONE) -# -# logger.debug("Contact %s added to group %s" % -# (handle.name, group_name)) -# -# def on_addressbook_group_contact_deleted(self, group, contact): -# group_name = group.name.decode("utf-8") -# if group_name == self._handle.name: -# handle = ButterflyHandleFactory(self._conn_ref(), 'contact', -# contact.account, contact.network_id) -# -# removed = set() -# removed.add(handle) -# -# self.MembersChanged('', (), removed, (), (), 0, -# telepathy.CHANNEL_GROUP_CHANGE_REASON_NONE) -# -# logger.debug("Contact %s removed from group %s" % -# (handle.name, group_name)) -# - @async def add_contact_to_group(self, group, contact, contact_handle): group_name = group.Name if group_name == self._handle.name: @@ -197,7 +146,6 @@ class SunshineGroupChannel(SunshineListChannel): logger.debug("Contact %s added to group %s" % (handle.name, group_name)) - @async def delete_contact_from_group(self, group, contact, contact_handle): group_name = group.Name if group_name == self._handle.name: |