deskbar-applet r2131 - in trunk: . deskbar/handlers



Author: sebp
Date: Sun Apr 20 10:02:58 2008
New Revision: 2131
URL: http://svn.gnome.org/viewvc/deskbar-applet?rev=2131&view=rev

Log:
Fixed: Search only for a particular hit type with beagle-search no matter what locale the user is using.

Modified:
   trunk/ChangeLog
   trunk/deskbar/handlers/beagle-live.py

Modified: trunk/deskbar/handlers/beagle-live.py
==============================================================================
--- trunk/deskbar/handlers/beagle-live.py	(original)
+++ trunk/deskbar/handlers/beagle-live.py	Sun Apr 20 10:02:58 2008
@@ -37,9 +37,9 @@
         """
         @param hit_type: The hit type from beagle.
         This is used by L{BeagleSearchMatch}.
-        @see: http://svn.gnome.org/svn/beagle/trunk/beagle/search/Beagle.Search/TypeFilter.cs
+        It's appended to the beagle-search call to search
+        for this particular type only
         """
-        # FIXME: beagle-search expects a translated type, but we provide only English types
         self.__name_properties = []
         self.__extra_properties = {}
         self.__category = "default"
@@ -195,20 +195,24 @@
         self.set_name_properties(("dc:title",))
         self.set_category("web")
         
+# We use keyword:beagle:xxx instead of type:xxx here,
+# because beagle-search expects that the value of type
+# in the user's locale language. Using this hack we
+# can always use English
 TYPES = {
-    "Contact": ContactType("contact"),
-    "MailMessage": MailMessageType("mail"),
-    "File": FileType("file"),
-    "Directory": DirectoryType("folder"),
-    "Document": DocumentType("document"),
-    "Audio": AudioType("audio"),
-    "Video": VideoType("video"),
-    "Image": ImageType("image"), 
-    "FeedItem": FeedItemType("feed"),
-    "Note": NoteType(""), # beagle-search can't filter notes
-    "IMLog": IMLogType("im"),
-    "Calendar": CalendarType(""), # beagle-search can't filter calendars
-    "WebHistory": WebHistoryType("web"),
+    "Contact": ContactType("keyword:beagle:HitType=Contact"),
+    "MailMessage": MailMessageType("keyword:beagle:HitType=MailMessage"),
+    "File": FileType("keyword:beagle:HitType=File"),
+    "Directory": DirectoryType("keyword:beagle:FileType=folder"),
+    "Document": DocumentType("keyword:beagle:FileType=document"),
+    "Audio": AudioType("keyword:beagle:FileType=audio"),
+    "Video": VideoType("keyword:beagle:FileType=video"),
+    "Image": ImageType("keyword:beagle:FileType=image"), 
+    "FeedItem": FeedItemType("keyword:beagle:HitType=FeedItem"),
+    "Note": NoteType("keyword:beagle:HitType=Note"),
+    "IMLog": IMLogType("keyword:beagle:HitType=IMLog"),
+    "Calendar": CalendarType("keyword:beagle:HitType=Calendar"),
+    "WebHistory": WebHistoryType("keyword:beagle:HitType=WebHistory"),
 }
 
 # See section FileType at http://beagle-project.org/Writing_clients
@@ -355,7 +359,7 @@
         """
         beagle_args = [term]
         if hit_type != None:
-            beagle_args.append("type:"+hit_type)
+            beagle_args.append(hit_type)
         
     	OpenWithApplicationAction.__init__(self, name, "beagle-search", beagle_args)
     	self._verb = verb



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]