sugar.presence.presenceservice: Add get_buddy_by_telepathy_handle()
This commit is contained in:
parent
b96de811d3
commit
b33dd7cfab
@ -312,6 +312,32 @@ class PresenceService(gobject.GObject):
|
|||||||
return None
|
return None
|
||||||
return self._new_object(buddy_op)
|
return self._new_object(buddy_op)
|
||||||
|
|
||||||
|
def get_buddy_by_telepathy_handle(self, tp_conn_name, tp_conn_path,
|
||||||
|
handle):
|
||||||
|
"""Retrieve single Buddy object for the given public key
|
||||||
|
|
||||||
|
:Parameters:
|
||||||
|
`tp_conn_name` : str
|
||||||
|
The well-known bus name of a Telepathy connection
|
||||||
|
`tp_conn_path` : dbus.ObjectPath
|
||||||
|
The object path of the Telepathy connection
|
||||||
|
`handle` : int or long
|
||||||
|
The handle of a Telepathy contact on that connection,
|
||||||
|
of type HANDLE_TYPE_CONTACT. This may not be a
|
||||||
|
channel-specific handle.
|
||||||
|
:Returns: the Buddy object, or None if the buddy is not found
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
buddy_op = self._ps.GetBuddyByTelepathyHandle(tp_conn_name,
|
||||||
|
tp_conn_path,
|
||||||
|
handle)
|
||||||
|
except dbus.exceptions.DBusException, err:
|
||||||
|
_logger.warn('Unable to retrieve buddy handle for handle %u at '
|
||||||
|
'conn %s:%s from presence service: %s',
|
||||||
|
handle, tp_conn_name, tp_conn_path, err)
|
||||||
|
return None
|
||||||
|
return self._new_object(buddy_op)
|
||||||
|
|
||||||
def get_owner(self):
|
def get_owner(self):
|
||||||
"""Retrieves the laptop "owner" Buddy object."""
|
"""Retrieves the laptop "owner" Buddy object."""
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user