#!/usr/bin/env python # # This observer tracks telepathy events and reports events to the Zeitgeist # engine. # # Authors: Morten Mjelva import gobject from gi.repository import TelepathyGLib as Tp def observe_channels(observer, account, connection, channels, dispatch_op, requests, context, user_data): print "channels observed" for channel in channels: props = channel.borrow_immutable_properties() print props context.accept() dbus = Tp.DBusDaemon.dup() observer = Tp.SimpleObserver.new(dbus, True, 'Zeitgeist', True, observe_channels, None) # We want to observe text chats and media streams (A/V via webcam or phone) observer.add_observer_filter({ 'org.freedesktop.Telepathy.Channel.ChannelType': 'org.freedesktop.Telepathy.Channel.Type.Text' }) observer.add_observer_filter({ 'org.freedesktop.Telepathy.Channel.ChannelType': 'org.freedesktop.Telepathy.Channel.Type.StreamedMedia' }) observer.register() main_loop = gobject.MainLoop() main_loop.run()