Commit a4bfd2fc authored by Philipp Hörist's avatar Philipp Hörist

Add get_contact_strict()

This adds a method that returns only a contact if there is an exact match,
instead of a contact where only the barejid matches.

We need this when we update the Caps of a contact.
parent c6e39309
......@@ -509,6 +509,15 @@ class Contacts():
return c
return self._contacts[jid][0]
def get_contact_strict(self, jid, resource):
"""
Return the contact instance for the given resource or None
"""
if jid in self._contacts:
for c in self._contacts[jid]:
if c.resource == resource:
return c
def get_avatar(self, jid, size=None, scale=None):
if jid not in self._contacts:
return None
......@@ -554,7 +563,7 @@ class Contacts():
Get Contact object for specific resource of given jid
"""
barejid, resource = common.app.get_room_and_nick_from_fjid(fjid)
return self.get_contact(barejid, resource)
return self.get_contact_strict(barejid, resource)
def get_first_contact_from_jid(self, jid):
if jid in self._contacts:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment