summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2007-03-21 11:52:38 +0000
committerGeorg Brandl <georg@python.org>2007-03-21 11:52:38 +0000
commit9225f226a3a6173e277374fc8fc2ea6c7c1cecbf (patch)
tree2b5173fbb42b2ee9269865dd7a19055e879c6f9b
parentbd9d51321e062e530a75f25ab0beb7c07b0f04a4 (diff)
downloadcpython-git-9225f226a3a6173e277374fc8fc2ea6c7c1cecbf.tar.gz
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)
-rw-r--r--Lib/webbrowser.py7
-rw-r--r--Misc/NEWS4
2 files changed, 10 insertions, 1 deletions
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.