def select_and_open (url, cfg):
"""Select the browser to use via configuration and open the URL"""
# set default browser
log.debug("Initialise with default browser")
selected_browser = webbrowser.get(cfg.browser_default)
# set browser according to rules
for r in cfg.rules:
url_pattern = r.get('url_pattern')
url_replace = r.get('url_replace')
browser_id = r.get('browser_id')
if isinstance(url_pattern, basestring):
p = re.compile(url_pattern)
if p.search(url):
if isinstance(url_replace, basestring):
url = p.sub(url_replace, url)
if isinstance(browser_id, basestring):
log.debug("-- Set browser to browser '%s'" % browser_id)
selected_browser = webbrowser.get(browser_id)
log.info("Selected browser: '%s %s'" % (selected_browser.name,
' '.join(selected_browser.args)))
log.info("URL to open via 'open_new_tab': '%s'" % url)
selected_browser.open_new_tab(url)
log.debug("'open_new_tab' done")
评论列表
文章目录