From: Georg Brandl Date: Wed, 21 Mar 2007 11:52:38 +0000 (+0000) Subject: Bug #1684254: webbrowser now uses shlex to split any command lines X-Git-Tag: v2.5.1c1~26 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9225f226a3a6173e277374fc8fc2ea6c7c1cecbf;p=python Bug #1684254: webbrowser now uses shlex to split any command lines given to get(). It also detects when you use '&' as the last argument and creates a BackgroundBrowser then. (backport -- this is a regression from 2.4 and therefore backported) --- diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py index 37355877c8..b71ef8d7d3 100644 --- a/Lib/webbrowser.py +++ b/Lib/webbrowser.py @@ -2,6 +2,7 @@ """Interfaces for launching and remotely controlling Web browsers.""" import os +import shlex import sys import stat import subprocess @@ -32,7 +33,11 @@ def get(using=None): for browser in alternatives: if '%s' in browser: # User gave us a command line, split it into name and args - return GenericBrowser(browser.split()) + browser = shlex.split(browser) + if browser[-1] == '&': + return BackgroundBrowser(browser[:-1]) + else: + return GenericBrowser(browser) else: # User gave us a browser name or path. try: diff --git a/Misc/NEWS b/Misc/NEWS index d8c8871008..bc29eaaf65 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -217,6 +217,10 @@ Extension Modules Library ------- +- Bug #1684254: webbrowser now uses shlex to split any command lines + given to get(). It also detects when you use '&' as the last argument + and creates a BackgroundBrowser then. + - Patch #1681153: the wave module now closes a file object it opened if initialization failed.