Example #1
0
 def vcard_callback(self, stanza):
     vcard = stanza.get_payload(VCardPayload)
     if vcard is not None:
         nickname = vcard.get_nickname()
         avatar_data = vcard.get_avatar()
         jid = get_email(stanza.from_jid)
         if nickname:
             Friend.update_nickname(jid, nickname)
         if avatar_data:
             avatarManager.save_avatar(jid, avatar_data)
Example #2
0
 def vcard_callback(self, stanza):    
     vcard = stanza.get_payload(VCardPayload)
     if vcard is not None:
         nickname = vcard.get_nickname()
         avatar_data = vcard.get_avatar()            
         jid = get_email(stanza.from_jid)
         if nickname:
             Friend.update_nickname(jid, nickname)
         if avatar_data:    
             avatarManager.save_avatar(jid, avatar_data)
Example #3
0
    def handle_roster_received(self, event):

        rosters = self.client.roster.values()
        Friend.create_or_update_roster(rosters)
        signals.user_roster_received.send(sender=self)

        # get friend vcard
        for roster_item in rosters:
            plain_jid = get_email(roster_item.jid)
            if not avatarManager.has_avatar(plain_jid):
                self.get_vcard(roster_item.jid)

        if self.update_presence_flag:
            self.client.main_loop.delayed_call(2, self.delayed_update_presence)
        return True
Example #4
0
    def handle_roster_received(self, event):

        rosters = self.client.roster.values()
        Friend.create_or_update_roster(rosters)
        signals.user_roster_received.send(sender=self)
        
        # get friend vcard
        for roster_item in rosters:
            plain_jid = get_email(roster_item.jid)
            if not avatarManager.has_avatar(plain_jid):
                self.get_vcard(roster_item.jid)
            
        if self.update_presence_flag:
            self.client.main_loop.delayed_call(2, self.delayed_update_presence)        
        return True    
Example #5
0
 def _initData(self):
     kwargs = dict(subscription="both", isSelf=False)
     if self.groupId is not None:
         kwargs["group"] = self.groupId
     friends = list(
         map(lambda item: FriendWrapper(item), Friend.filter(**kwargs)))
     self.setAll(friends)
Example #6
0
    def save_rosters(self):

        # save rosters to db.
        Friend.create_or_update_roster_sleek(self.client_roster)

        # send signal.
        xmpp_signals.user_roster_received.send(sender=self)

        logger.debug("user roster have received")

        # request vcard infos.
        jids = list(self.client_roster.keys())
        jids.insert(0, self.boundjid.bare)
        for jid in jids:
            # if not avatarManager.has_avatar(jid):
            save_photo_flag = not avatarManager.has_avatar(jid)
            self.request_vcard(jid, save_photo_flag)
Example #7
0
    def save_rosters(self):

        # save rosters to db.
        Friend.create_or_update_roster_sleek(self.client_roster)

        # send signal.
        xmpp_signals.user_roster_received.send(sender=self)

        logger.debug("user roster have received")

        # request vcard infos.
        jids = list(self.client_roster.keys())
        jids.insert(0, self.boundjid.bare)
        for jid in jids:
            # if not avatarManager.has_avatar(jid):
            save_photo_flag = not avatarManager.has_avatar(jid)
            self.request_vcard(jid, save_photo_flag)
Example #8
0
 def doSearch(self, text):    
     
     self.clear()        
     
     if text == "":
         return 
     
     qs = Friend.select().where(Friend.jid ** "%{0}%".format(text), Friend.isSelf == False)
     friends = [ FriendWrapper(item, parent=self) for item in qs ]
     self.setAll(friends)
Example #9
0
 def loadUnreadedMessages(self):
     qs = ReceivedMessage.select().where(
         ReceivedMessage.readed == False, ReceivedMessage.friend == Friend.get(jid=self._toJid)
     )
     objs = list(map(lambda item: MessageWrapper(item), qs))
     self.setAll(objs)
     with disable_auto_commit():
         for ins in qs:
             if ins.readed != True:
                 ins.readed = True
                 ins.save(update_fields=["readed"])
Example #10
0
    def doSearch(self, text):

        self.clear()

        if text == "":
            return

        qs = Friend.select().where(Friend.jid**"%{0}%".format(text),
                                   Friend.isSelf == False)
        friends = [FriendWrapper(item, parent=self) for item in qs]
        self.setAll(friends)
Example #11
0
 def loadUnreadedMessages(self):
     qs = ReceivedMessage.select().where(
         ReceivedMessage.readed == False,
         ReceivedMessage.friend == Friend.get(jid=self._toJid))
     objs = list(map(lambda item: MessageWrapper(item), qs))
     self.setAll(objs)
     with disable_auto_commit():
         for ins in qs:
             if ins.readed != True:
                 ins.readed = True
                 ins.save(update_fields=['readed'])
Example #12
0
def getJidInfo(jid):
    if not jid:
        return None

    if isinstance(jid, string_types):
        try:
            obj = Friend.get(jid=jid)
        except Friend.DoesNotExist:
            return None
    else:
        obj = jid

    return FriendWrapper(obj)
Example #13
0
def getJidInfo(jid):
    if not jid:
        return None

    if isinstance(jid, string_types):
        try:
            obj = Friend.get(jid=jid)
        except Friend.DoesNotExist:
            return None
    else:
        obj = jid

    return FriendWrapper(obj)
Example #14
0
 def doSearch(self, text):    
             
     self.clear()        
     
     if text == "":
         self._jid = ""
         return 
     
     if "@" not in text:
         jid = "{0}@{1}".format(text, xmppClient.boundjid.domain)
     else:    
         jid = text
         
     try:    
         _parse_jid(jid)
     except InvalidJID:     
         return 
     
     self._jid = jid
     
     try:
         Friend.get(jid=self._jid)
     except Friend.DoesNotExist:    
         self.asyncRequestVCard(self._jid)
Example #15
0
    def doSearch(self, text):

        self.clear()

        if text == "":
            self._jid = ""
            return

        if "@" not in text:
            jid = "{0}@{1}".format(text, xmppClient.boundjid.domain)
        else:
            jid = text

        try:
            _parse_jid(jid)
        except InvalidJID:
            return

        self._jid = jid

        try:
            Friend.get(jid=self._jid)
        except Friend.DoesNotExist:
            self.asyncRequestVCard(self._jid)
Example #16
0
 def handle_roster_updated(self, event):
     item = event.item
     Friend.create_or_update_roster([item])
     return True
Example #17
0
 def _save_display_name(self, jid, vcard_temp):
     nickname = xmpp_utils.get_vcard_nickname(vcard_temp)
     if nickname is not None:
         Friend.update_nickname(jid, nickname)
Example #18
0
 def _save_display_name(self, jid, vcard_temp):
     nickname = xmpp_utils.get_vcard_nickname(vcard_temp)
     if nickname is not None:
         Friend.update_nickname(jid, nickname)
Example #19
0
 def _initData(self):    
     kwargs = dict(subscription="both", isSelf=False)
     if self.groupId is not None:
         kwargs["group"] = self.groupId
     friends = list(Friend.filter(**kwargs))
     self.setAll(friends)
Example #20
0
 def load(self):
     kwargs = dict(subscription="both", isSelf=False)
     if self.group_id is not None:
         kwargs["group"] = self.group_id
     friends = Friend.filter(**kwargs)
     return friends
Example #21
0
 def handle_roster_updated(self, event):
     item = event.item
     Friend.create_or_update_roster([ item ])
     return True
Example #22
0
 def load(self):
     kwargs = dict(subscription="both", isSelf=False)
     if self.group_id is not None:
         kwargs["group"] = self.group_id
     friends = Friend.filter(**kwargs)
     return friends