コード例 #1
0
 def removeIgnored(self, dbID):
     error = self._checkCooldown(CLIENT_ACTION_ID.REMOVE_IGNORED)
     if error:
         return (False, error)
     contact = self.usersStorage.getUser(dbID, PROTO_TYPE.XMPP)
     if not contact:
         return (False,
                 ClientContactError(
                     CONTACT_ERROR_ID.CONTACT_ITEM_NOT_FOUND))
     itemType = contact.getItemType()
     if itemType not in XMPP_ITEM_TYPE.PERSISTENT_BLOCKING_LIST:
         return (False,
                 ClientContactError(CONTACT_ERROR_ID.BLOCK_ITEM_NOT_FOUND,
                                    contact.getFullName()))
     jid = contact.getJID()
     tasks = [block_tasks.RemoveBlockItemTask(jid, contact.getName())]
     if itemType == XMPP_ITEM_TYPE.ROSTER_BLOCK_ITEM:
         tasks.append(
             roster_tasks.RemoveRosterItemTask(
                 jid,
                 contact.getName(),
                 groups=contact.getItem().getRosterGroups()))
     if note_tasks.canNoteAutoDelete(contact):
         tasks.append(note_tasks.RemoveNoteTask(jid))
     self.__cooldown.process(CLIENT_ACTION_ID.REMOVE_IGNORED)
     return self.__addTasks(CLIENT_ACTION_ID.REMOVE_IGNORED, jid, *tasks)
コード例 #2
0
 def removeFriend(self, dbID, shadowMode=False):
     error = self._checkCooldown(CLIENT_ACTION_ID.REMOVE_FRIEND)
     if error and not shadowMode:
         return (False, error)
     contact = self.usersStorage.getUser(dbID, PROTO_TYPE.XMPP)
     if not contact:
         return (False,
                 ClientContactError(
                     CONTACT_ERROR_ID.CONTACT_ITEM_NOT_FOUND))
     if contact.getItemType() not in XMPP_ITEM_TYPE.ROSTER_ITEMS:
         return (False,
                 ClientContactError(CONTACT_ERROR_ID.ROSTER_ITEM_NOT_FOUND,
                                    contact.getFullName()))
     jid = contact.getJID()
     tasks = [
         roster_tasks.RemoveRosterItemTask(jid,
                                           contact.getName(),
                                           groups=contact.getGroups())
     ]
     if note_tasks.canNoteAutoDelete(contact):
         tasks.append(note_tasks.RemoveNoteTask(jid))
     if not shadowMode:
         self.__cooldown.process(CLIENT_ACTION_ID.REMOVE_FRIEND)
     return self.__addTasks(CLIENT_ACTION_ID.REMOVE_FRIEND, jid, shadowMode,
                            *tasks)
コード例 #3
0
 def cancelFriendship(self, dbID):
     contact = self.usersStorage.getUser(dbID, PROTO_TYPE.XMPP)
     result, error = self.canCancelFriendship(contact)
     if not result:
         return (result, error)
     jid = contact.getJID()
     tasks = [sub_tasks.CancelSubscriptionTask(jid)]
     if note_tasks.canNoteAutoDelete(contact):
         tasks.append(note_tasks.RemoveNoteTask(jid))
     return self.__addTasks(CLIENT_ACTION_ID.CANCEL_FRIENDSHIP, jid, *tasks)
コード例 #4
0
ファイル: __init__.py プロジェクト: mahmoudimus/WOT-0.9.20.0
 def removeNote(self, dbID):
     error = self._checkCooldown(CLIENT_ACTION_ID.REMOVE_NOTE)
     if error:
         return (False, error)
     contact = self.usersStorage.getUser(dbID)
     if not contact or not contact.getTags():
         return (False, ClientContactError(CONTACT_ERROR_ID.CONTACT_ITEM_NOT_FOUND))
     if not contact.getNote():
         return (False, ClientContactError(CONTACT_ERROR_ID.NOTE_NOT_FOUND, name=contact.getFullName()))
     jid = makeContactJID(dbID)
     self.__cooldown.process(CLIENT_ACTION_ID.REMOVE_NOTE)
     return self.__addTasks(CLIENT_ACTION_ID.SET_NOTE, jid, note_tasks.RemoveNoteTask(jid))