home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 February / maximum-cd-2011-02.iso / DiscContents / digsby_setup85.exe / lib / common / search.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-11-24  |  4.9 KB  |  107 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4.  
  5. def enabled_searches():
  6.     return _[1]
  7.  
  8.  
  9. class Search(object):
  10.     
  11.     def __init__(self, name, gui_name, enabled = True):
  12.         self.name = name
  13.         self.gui_name = gui_name
  14.         self.enabled = enabled
  15.  
  16.     
  17.     def dict(self, **kws):
  18.         d = dict(name = self.name, enabled = self.enabled)
  19.         d.update(kws)
  20.         return d
  21.  
  22.  
  23.  
  24. class WebSearch(Search):
  25.     replstring = '$$query$$'
  26.     
  27.     def __init__(self, name, gui_name, url):
  28.         Search.__init__(self, name, gui_name)
  29.         self.url = url
  30.  
  31.     
  32.     def search(self, query):
  33.         url = self.url.replace(self.replstring, query.encode('url'))
  34.         launch_browser(url)
  35.  
  36.     
  37.     def __repr__(self):
  38.         return None % ('<WebSearch %s%s>', self.gui_name if self.enabled else ' (disabled)')
  39.  
  40.  
  41. searches = []
  42.  
  43. def launch_browser(url):
  44.     import wx
  45.     wx.LaunchDefaultBrowser(url)
  46.  
  47. _did_link_prefs = False
  48.  
  49. def link_prefs(prefs):
  50.     global _did_link_prefs
  51.     if _did_link_prefs:
  52.         return None
  53.     _did_link_prefs = True
  54.     prefs.link('search.external', on_external_prefs, obj = on_external_prefs, callnow = True)
  55.  
  56.  
  57. def on_external_prefs(external):
  58.     by_name = dict((lambda .0: for engine in .0:
  59. (engine.name, engine))(all_search_engines))
  60.     new_searches = []
  61.     found_searches = set()
  62.     to_remove = set()
  63.     for ex in external:
  64.         name = ex.get('name')
  65.         enabled = ex.get('enabled', False)
  66.         found_searches.add(name)
  67.         if name not in by_name:
  68.             to_remove.add(name)
  69.             continue
  70.         
  71.         engine = by_name[name]
  72.         engine.enabled = enabled
  73.         new_searches.append(engine)
  74.     
  75.     for name in by_name:
  76.         if name not in found_searches:
  77.             v = {
  78.                 'name': name,
  79.                 'enabled': by_name[name].enabled }
  80.             import common
  81.             order = common.profile.defaultprefs.get('search.external', [])
  82.             if v in order:
  83.                 default_pos = order.index(v)
  84.             else:
  85.                 default_pos = len(new_searches)
  86.             new_searches.insert(default_pos, by_name[name])
  87.             external.append(v)
  88.             continue
  89.     
  90.     external[:] = _[1]
  91.     searches[:] = new_searches
  92.  
  93. all_search_engines = [
  94.     WebSearch('google', u'Google', 'http://search.digsby.com/search.php?q=$$query$$&sa=Search&cx=partner-pub-0874089657416012:7ev7ao6zrit&cof=FORID%3A10&ie=UTF-8#1166'),
  95.     WebSearch('amazon', u'Amazon', 'http://www.amazon.com/gp/search?ie=UTF8&keywords=$$query$$&tag=digsby-20&index=blended&linkCode=ur2&camp=1789&creative=9325'),
  96.     WebSearch('ebay', u'Ebay', 'http://rover.ebay.com/rover/1/711-53200-19255-0/1?type=3&campid=5336256582&toolid=10001&referrer=www.digsby.com&customid=&ext=$$query$$&satitle=$$query$$'),
  97.     WebSearch('newegg', u'NewEgg', 'http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&DEPA=0&Order=BESTMATCH&Description=$$query$$&x=0&y=0'),
  98.     WebSearch('itunes', u'iTunes', 'http://www.apple.com/search/ipoditunes/?q=$$query$$'),
  99.     WebSearch('twitter', u'Twitter', 'http://search.twitter.com/search?q=$$query$$'),
  100.     WebSearch('facebook', u'Facebook', 'http://www.facebook.com/s.php?init=q&q=$$query$$'),
  101.     WebSearch('linkedin', u'LinkedIn', 'http://www.linkedin.com/search?keywords=$$query$$&sortCriteria=Relevance&proposalType=Y&pplSearchOrigin=ADVS&newnessType=Y&searchLocationType=Y&viewCriteria=1&search='),
  102.     WebSearch('youtube', u'YouTube', 'http://www.youtube.com/results?search_type=&search_query=$$query$$'),
  103.     WebSearch('wikipedia', u'Wikipedia', 'http://en.wikipedia.org/wiki/Special:Search?search=$$query$$'),
  104.     WebSearch('technorati', u'Technorati', 'http://technorati.com/search/$$query$$'),
  105.     WebSearch('oneriot', u'OneRiot', 'http://www.oneriot.com/search?q=$$query$$&spid=eec0ecbd-1151-4b26-926d-82a155c73372&p=digsby&ssrc=blist'),
  106.     WebSearch('bing', u'Bing', 'http://www.bing.com/search?q=$$query$$')]
  107.