[Telepathy] Telepathy and EFL

Kai Huuhko kai.huuhko at gmail.com
Sat Feb 11 02:27:20 PST 2012


Fri, 20 Jan 2012 17:53:17 +0200
Kai Huuhko <kai.huuhko at gmail.com> kirjoitti:

> Mon, 16 Jan 2012 13:53:11 -0500
> Youness Alaoui <youness.alaoui at collabora.co.uk> kirjoitti:
> 
> > On 01/15/2012 06:51 PM, Danielle Madeley wrote:
> > >> 20:38 <kuuko> Hello, I'm looking into rewriting a python app
> > >> that's using the low level telepathy functionality. I understand
> > >> that telepathy-python has been deprecated in favor of
> > >> telepathy-glib python bindings. The thing is that the app is not
> > >> using GTK+ for it's ui, instead it's EFL-based, so I am wondering
> > >> if and how I can make use of telepathy-glib in such a client.
> > > 
> > > Your problem with using the telepathy-glib bindings will be
> > > integrating with the GLib mainloop to receive events and
> > > callbacks. I don't specifically know about EFL, but nowadays Qt
> > > and GLib share a mainloop.
> > > 
> > > Possibly this blog post is useful to you:
> > > http://blog.gustavobarbieri.com.br/2009/10/01/ecore-glib-main-loop-integration/
> > > 
> > > If you can't integrate the mainloops, you may have to stick with
> > > the low-level telepathy-python bindings,
> > > 
> > 
> > Yes, ecore integrates with the mainloop from glib so that shouldn't
> > be a problem. It would be great to have an EFL based client for
> > Telepathy. If you're interested, we (the aMSN team) already started
> > (a few years ago) working on a python based client and you could
> > easily port it to use telepathy instead of directly using papyon.
> > I've wanted to do that for a while but haven't had time. We have an
> > EFL front end for aMSN2 although I'm not sure of its current status.
> > Interested ?
> 
> I shall take a look. Can you provide me with links to said clients?
> 
> For the project at hand, what I am interested in is specific
> documentation and example code for telepathy-glib in python.
> 
> For now, I'm using as much of the existing code as possible, changing
> the direct connection handling to MC5 specific features such as
> account/connection handling through AM and channels through CD, using
> telepathy-python client bindings.
> 
> It is only once I feel having sufficient fluency with the current code
> base and tp-glib that I am prepared to begin the move to the latter
> bindings.
> 
> The application I am working on is Apathy:
> <http://www.openapathy.org/> I am not paid or sponsored by anyone for
> this work.
> 
> The time table I have set for the initial work is until the end of
> January. At that point I shall reassess the situation.
> 
> Thank you for your answers and interest.

I have begun the rewrite and solved the first obstacles that came up.
However this has me stumped.

Fetching a contacts avatar with get_avatar_file(), I get:

TypeError: metaclass conflict: the metaclass of a derived class must be
a (non-strict) subclass of the metaclasses of all its bases
**
ERROR:pygobject.c:929:pygobject_new_full: assertion failed: (tp != NULL)

and the whole process dies.

I have in my factory Tp.ContactFeature.AVATAR_DATA, and get the token
just fine. Am I missing something here? Must I listen for
notify::avatar-file or do something else before trying to fetch that
property? This happens with gabble; with haze I get None for all
avatars.


More information about the telepathy mailing list