home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2012 January / maximum-cd-2012-01.iso / DiscContents / digsby_setup.exe / lib / gui / browser / webkit / __init__.pyo (.txt) next >
Encoding:
Python Compiled Bytecode  |  2011-10-05  |  3.3 KB  |  72 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. from webkitwindow import WebKitWindow
  5. import logging
  6. import wx.webview as wx
  7. webview_to_logging_levels = {
  8.     wx.webview.TipMessageLevel: logging.DEBUG,
  9.     wx.webview.LogMessageLevel: logging.INFO,
  10.     wx.webview.WarningMessageLevel: logging.WARNING,
  11.     wx.webview.ErrorMessageLevel: logging.ERROR }
  12.  
  13. def setup_webview_logging(webview, log, logfilter = None, logbasedir = None):
  14.     log = None if isinstance(log, basestring) else log
  15.     if logbasedir is not None:
  16.         
  17.         def logfilter(i):
  18.             filename = i['fn']
  19.             if filename.startswith('file:///'):
  20.                 filename = filename[len('file:///'):]
  21.             
  22.             relpath = logbasedir.relpathto(filename)
  23.             if len(relpath) < len(filename):
  24.                 i['fn'] = unicode(relpath)
  25.             
  26.             return True
  27.  
  28.     
  29.     if logfilter is None:
  30.         
  31.         logfilter = lambda info: True
  32.     
  33.     
  34.     def on_js_console_message(e):
  35.         info = dict(level = webview_to_logging_levels.get(e.Level, logging.INFO), fn = e.GetSourceID(), lno = e.LineNumber, msg = e.Message)
  36.         if logfilter(info):
  37.             msg = '%(fn)s:%(lno)s | %(msg)s' % info
  38.             record = log.makeRecord(log.name, info['level'], info['fn'], info['lno'], msg, (), None, '(unknown function)', None)
  39.             log.handle(record)
  40.         
  41.  
  42.     webview.Bind(wx.webview.EVT_WEBVIEW_CONSOLE_MESSAGE, on_js_console_message)
  43.  
  44.  
  45. class WebKitDisplay(wx.webview.WebView):
  46.     
  47.     def __init__(self, parent):
  48.         wx.webview.WebView.__init__(self, parent)
  49.         self.Bind(wx.EVT_CONTEXT_MENU, (lambda e: e.Skip(False)))
  50.         self.Bind(wx.webview.EVT_WEBVIEW_BEFORE_LOAD, self.on_before_load)
  51.  
  52.     
  53.     def on_before_load(self, e):
  54.         e.Cancel()
  55.         wx.LaunchDefaultBrowser(e.URL)
  56.  
  57.  
  58. _origin_whitelist = { }
  59.  
  60. def get_origin_whitelist():
  61.     return dict(_origin_whitelist)
  62.  
  63.  
  64. def update_origin_whitelist(originURL, destProtocol, destDomain, allowSubdomains):
  65.     key = (originURL, destProtocol, destDomain, allowSubdomains)
  66.     already_added = key in _origin_whitelist
  67.     if already_added:
  68.         return None
  69.     _origin_whitelist[key] = True
  70.     wx.webview.WebView.AddOriginAccessWhitelistEntry(originURL, destProtocol, destDomain, allowSubdomains)
  71.  
  72.