[Telepathy] A query regarding Presences-update

Xavier Claessens xclaesse at gmail.com
Thu Jun 7 04:07:45 PDT 2012


Your packages are completely outdated. You need at least tp-salut 0.7.2.

Again you should not use dbus directly. If your app is written in 
python, please use telepathy-glib's python binding. see for example:

http://cgit.freedesktop.org/telepathy/telepathy-glib/tree/examples/client/python/contact-list.py

Regards,
Xavier Claessens

Le jeudi 07 juin 2012 à 16:14 +0530, Ajay Garg a écrit :
> Thanks a ton Xavier, for the reply.
> 
> Even I had the uneasy feeling, since the 'GetMembers' had the
> semantics different from the other two.
> Looking at the "Connection_Interface_Contact_List", its semantics seem
> to be in line with the other two.
> 
> 
> However, I am getting the following key-error, when I use the above ::
> 
> ####################################################################################
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/dbus/connection.py", line
> 586, in msg_reply_handler
>     reply_handler(*message.get_args_list(**get_args_opts))
>   File "demos/Telepathy/telepathy_test.py", line 371, in
> __get_self_handle_cb
> 
> self._connection[CONNECTION_INTERFACE_CONTACT_LIST].GetContactListAttributes(
>   File
> "/usr/lib/python2.7/site-packages/telepathy/client/interfacefactory.py", line 74, in __getitem__
>     raise KeyError(name)
> KeyError:
> 'org.freedesktop.Telepathy.Connection.Interface.ContactList.DRAFT2'
> ^CTraceback (most recent call last):
>   File "demos/Telepathy/telepathy_test.py", line 670, in <module>
>     gobject.MainLoop().run()
> KeyboardInterrupt
> ####################################################################################
> 
> 
> 
> 
> 
> Following are the telepathy-packages on my system ::
> 
> ####################################################################################
> [ajay at localhost ~]$ rpm -qa | grep telepathy
> 
> telepathy-mission-control-5.6.0-2.fc14.i686
> telepathy-gabble-0.10.3-1.fc14.i686
> telepathy-idle-0.1.6-1.fc14.i686
> telepathy-salut-0.4.0-1.fc14.i686
> telepathy-glib-0.11.16-1.fc14.i686
> python-telepathy-0.15.18-1.fc14.noarch
> telepathy-logger-0.1.5-1.fc14.i686
> telepathy-glib-devel-0.11.16-1.fc14.i686
> telepathy-butterfly-0.5.14-1.fc14.noarch
> telepathy-farsight-0.0.14-2.fc14.i686
> telepathy-glib-vala-0.11.16-1.fc14.i686
> telepathy-haze-0.4.0-1.fc14.i686
> telepathy-filesystem-0.0.2-1.fc12.noarch
> ####################################################################################
> 
> 
> 
> Which (minimum) package(s) do I need to upgrade, so that
> "CONNECTION_INTERFACE_CONTACT_LIST" can be queries upon?
> 
> I will be grateful for a reply :)
> 
> 
> Thanks and Regards,
> Ajay
> 
> 
> 
> On Thu, Jun 7, 2012 at 2:34 PM, Xavier Claessens <xclaesse at gmail.com>
> wrote:
>         Le jeudi 07 juin 2012 à 11:55 +0530, Ajay Garg a écrit :
>         > Hi all.
>         >
>         > I have wriiten a basic python program using telepathy-salut,
>         wherein
>         > buddies are able to see each other coming offline/online on
>         a
>         > telepathy-salut connection.
>         >
>         >
>         > Following interfaces/signals are being used ::
>         >
>         > a)
>         >
>         http://telepathy.freedesktop.org/spec/Channel_Interface_Group.html#Method:GetMembers
>         
>         > This interface is used to get the list (one-time, at
>         startup) of the
>         > buddies, when a machine connects to telepathy-salut
>         connection
>         > (obviously, one singular time).
>         
>         
>         That's the old way of getting the list of contacts, this
>         interface is
>         easier to use:
>         http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html
>         
>         > (iii)
>         > M1 disconnects from telepathy-salut.
>         > M2 goes offline from M1's context (as obviously expected).
>         > HOWEVER, M1 IS STILL SHOWN TO BE ONLINE IN M2'S CONTEXT
>         (something not
>         > expected).
>         >
>         
>         
>         I think what happens is the contact is removed from your
>         roster, but his
>         presence may not get updated to offline, since the contact is
>         not
>         supposed to exist anymore.
>         
>         You should listen to that signal to add/remove contacts from
>         the
>         context:
>         http://telepathy.freedesktop.org/spec/Connection_Interface_Contact_List.html#Signal:ContactsChangedWithID
>         
>         
>         You should also consider using telepathy-glib or telepathy-qt
>         helper
>         libraries instead of listening to dbus directly. Those 2
>         libraries
>         provides much easier high level API.
>         
>         Regards,
>         Xavier Claessens.
>         
> 




More information about the telepathy mailing list