#!/usr/bin/python import dbus print 'connecting to tracker...' bus = dbus.SessionBus() proxy = bus.get_object('org.freedesktop.Tracker', '/org/freedesktop/tracker') iface = dbus.Interface(proxy, 'org.freedesktop.Tracker') print 'tracker version: ', iface.GetVersion() services = iface.GetServices(True) print 'tracker services:' for service, info in services.iteritems(): print ' %s (%s): %s' % (service, info[0], info[1]) stats = iface.GetStats() print 'tracker stats:' for service, stat in stats.iteritems(): print ' %s: (%s)' % (service, stat[0]) ifacef = dbus.Interface(proxy, 'org.freedesktop.Tracker.Files') ifacem = dbus.Interface(proxy, 'org.freedesktop.Tracker.Metadata') files = ifacef.GetByServiceType(-1, 'Files', 0, 10) for file in files: print '%s: name is %s' % (file, ifacem.Get('Files', file, ['file.name'])[0]) files = ifacef.GetByServiceType(-1, 'Music', 0, 10) for file in files: metadata = ifacem.Get('Music', file, ['audio.artist', 'audio.title', 'audio.album']) print '%s:' print ' artist:', metadata[0] print ' title: ', metadata[1] print ' album: ', metadata[2] # stress test ifacef.GetByServiceType(-1, 'fheltk', -5, 300) ifacef.GetByServiceType(-1, 'Music', 5000, 2) ifacef.GetByServiceType(314, 'Files', 0, 10000) ifacem.GetWriteableTypes('*') ifacem.GetWriteableTypes('audio') ifacem.GetWriteableTypes('email') ifacem.GetRegisteredClasses()