Hi,

apparently the deskbar plugin was broken for 0.6.90 [1].

When running deskbar-applet -w from the command line I get:
*** Tracker dbus error: org.freedesktop.DBus.Error.UnknownMethod:
Method "TextDetailed" with signature "issii" on interface
"org.freedesktop.Tracker.Search" doesn't exist

I've attached a patch, which seems to work for me ( I still get the
following error message, though I'm not sure if that is related:
03-06 04:06 deskbar.interfaces.Match ERROR    Action
<deskbar.handlers.actions.SendFileViaEmailAction.SendFileViaEmailAction
instance at 0x9172f6c> is not valid, not adding it)

Not being a python expert, I'd very much welcome if anyone could
review the patch (it also includes a small typo fix)

Cheers,
Michael

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518252
-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
Index: python/deskbar-handler/tracker-module.py
===================================================================
--- python/deskbar-handler/tracker-module.py	(Revision 3021)
+++ python/deskbar-handler/tracker-module.py	(Arbeitskopie)
@@ -333,7 +333,7 @@
 	def __init__(self):
 		deskbar.interfaces.Module.__init__(self)
 		# initing on search request, see self.query
-		self.tracker = self.search_iface = self.keywords_iface = self.files_iface = None
+		self.tracker = self.tracker_search = self.tracker_keywords = self.tracker_files = self.search_iface = self.keywords_iface = self.files_iface = None
 		self.conv_re = re.compile (r'^.*?/logs/([^/]+)/([^/]+)/([^/]+)/(.+?)\.(:?txt|html)$') # all, proto, account, to-whom, time
 
 	def handle_email_hits (self, info, output):
@@ -392,7 +392,7 @@
 			output['desktop'] = desktop
 		return 1
 
-	def recieve_hits (self, qstring, hits, max):
+	def receive_hits (self, qstring, hits, max):
 		matches = []
 
 		for info in hits:
@@ -433,7 +433,7 @@
 			print 'Tracker response for %s; %d hits returned, %d shown' % \
 					(qstring, len(hits), len(matches))
 
-	def recieve_error (self, error):
+	def receive_error (self, error):
 		print >> sys.stderr, '*** Tracker dbus error:', error
 
 	def query (self, qstring):
@@ -447,18 +447,21 @@
 				print "Connecting to Tracker (first search or trackerd restarted)"
 				import dbus
 				bus = dbus.SessionBus()
-				self.tracker = bus.get_object('org.freedesktop.Tracker', '/org/freedesktop/tracker')
-				self.search_iface = dbus.Interface(self.tracker, 'org.freedesktop.Tracker.Search')
-				self.keywords_iface = dbus.Interface(self.tracker, 'org.freedesktop.Tracker.Keywords')
-				self.files_iface = dbus.Interface(self.tracker, 'org.freedesktop.Tracker.Files')
+				self.tracker = bus.get_object('org.freedesktop.Tracker', '/org/freedesktop/Tracker')
+				self.tracker_search = bus.get_object('org.freedesktop.Tracker', '/org/freedesktop/Tracker/Search')
+				self.search_iface = dbus.Interface(self.tracker_search, 'org.freedesktop.Tracker.Search')
+				self.tracker_keywords = bus.get_object('org.freedesktop.Tracker', '/org/freedesktop/Tracker/Keywords')
+				self.keywords_iface = dbus.Interface(self.tracker_keywords, 'org.freedesktop.Tracker.Keywords')
+				self.tracker_files = bus.get_object('org.freedesktop.Tracker', '/org/freedesktop/Tracker/Files')
+				self.files_iface = dbus.Interface(self.tracker_files, 'org.freedesktop.Tracker.Files')
 			except:
 				print >> sys.stderr, 'DBus connection to tracker failed, check your settings.'
 				return
 		for service in [key for key in TYPES.iterkeys () if key != 'Extra']:
 			print 'Searching %s' % service
 			self.search_iface.TextDetailed (-1, service, qstring, 0, max, \
-					reply_handler = lambda hits: self.recieve_hits(qstring, hits, max),
-					error_handler = self.recieve_error)
+					reply_handler = lambda hits: self.receive_hits(qstring, hits, max),
+					error_handler = self.receive_error)
 		print 'Tracker query:', qstring
 
 
_______________________________________________
tracker-list mailing list
tracker-list@gnome.org
http://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to