home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / lib / deskbar-applet / handlers / beagle-static.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2006-08-31  |  2.6 KB  |  71 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. import os
  5. from os.path import exists, join
  6. from glob import glob
  7. from gettext import gettext as _
  8. from deskbar.defs import VERSION
  9. import gobject
  10. import deskbar.Handler as deskbar
  11. import deskbar.Utils as deskbar
  12. import deskbar.Match as deskbar
  13. from deskbar.Utils import get_xdg_data_dirs
  14.  
  15. def _check_requirements():
  16.     for dir in get_xdg_data_dirs():
  17.         if glob(join(dir, 'applications', '*best.desktop')) or glob(join(dir, 'applications', '*beagle-search.desktop')):
  18.             return (deskbar.Handler.HANDLER_IS_HAPPY, None, None)
  19.             continue
  20.     
  21.     return (deskbar.Handler.HANDLER_IS_NOT_APPLICABLE, 'Beagle does not seem to be installed, skipping', None)
  22.  
  23. HANDLERS = {
  24.     'BeagleHandler': {
  25.         'name': _('Beagle'),
  26.         'description': _('Search all of your documents (using Beagle)'),
  27.         'requirements': _check_requirements,
  28.         'version': VERSION } }
  29.  
  30. class BeagleMatch(deskbar.Match.Match):
  31.     
  32.     def __init__(self, backend, **args):
  33.         deskbar.Match.Match.__init__(self, backend, **args)
  34.  
  35.     
  36.     def action(self, text = None):
  37.         
  38.         try:
  39.             gobject.spawn_async([
  40.                 'beagle-search',
  41.                 self.name], flags = gobject.SPAWN_SEARCH_PATH)
  42.         except:
  43.             gobject.spawn_async([
  44.                 'best',
  45.                 '--no-tray',
  46.                 '--show-window',
  47.                 self.name], flags = gobject.SPAWN_SEARCH_PATH)
  48.  
  49.  
  50.     
  51.     def get_verb(self):
  52.         return _('Search for %s using Beagle') % '<b>%(name)s</b>'
  53.  
  54.     
  55.     def get_category(self):
  56.         return 'actions'
  57.  
  58.  
  59.  
  60. class BeagleHandler(deskbar.Handler.Handler):
  61.     
  62.     def __init__(self):
  63.         deskbar.Handler.Handler.__init__(self, ('system-search', 'best'))
  64.  
  65.     
  66.     def query(self, query):
  67.         return [
  68.             BeagleMatch(self, name = query)]
  69.  
  70.  
  71.