[Python-checkins] cpython (2.7): - Issue #17536: Add to webbrowser's browser list: xdg-open, gvfs-open,

matthias.klose python-checkins at python.org
Sat Apr 13 17:05:34 CEST 2013


http://hg.python.org/cpython/rev/5a1429e9b621
changeset:   83287:5a1429e9b621
branch:      2.7
parent:      83283:d5e5017309b1
user:        doko at ubuntu.com
date:        Sat Apr 13 17:05:11 2013 +0200
summary:
  - Issue #17536: Add to webbrowser's browser list: xdg-open, gvfs-open,
  www-browser, x-www-browser, chromium browsers, iceweasel, iceape.

files:
  Lib/webbrowser.py |  31 +++++++++++++++++++++++++++++++
  Misc/NEWS         |   3 +++
  2 files changed, 34 insertions(+), 0 deletions(-)


diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -304,6 +304,18 @@
     background = True
 
 
+class Chrome(UnixBrowser):
+    "Launcher class for Google Chrome browser."
+
+    remote_args = ['%action', '%s']
+    remote_action = ""
+    remote_action_newwin = "--new-window"
+    remote_action_newtab = ""
+    background = True
+
+Chromium = Chrome
+
+
 class Opera(UnixBrowser):
     "Launcher class for Opera browser."
 
@@ -441,6 +453,14 @@
 
 def register_X_browsers():
 
+    # use xdg-open if around
+    if _iscommand("xdg-open"):
+        register("xdg-open", None, BackgroundBrowser("xdg-open"))
+
+    # The default GNOME3 browser
+    if "GNOME_DESKTOP_SESSION_ID" in os.environ and _iscommand("gvfs-open"):
+        register("gvfs-open", None, BackgroundBrowser("gvfs-open"))
+
     # The default GNOME browser
     if "GNOME_DESKTOP_SESSION_ID" in os.environ and _iscommand("gnome-open"):
         register("gnome-open", None, BackgroundBrowser("gnome-open"))
@@ -449,9 +469,13 @@
     if "KDE_FULL_SESSION" in os.environ and _iscommand("kfmclient"):
         register("kfmclient", Konqueror, Konqueror("kfmclient"))
 
+    if _iscommand("x-www-browser"):
+        register("x-www-browser", None, BackgroundBrowser("x-www-browser"))
+
     # The Mozilla/Netscape browsers
     for browser in ("mozilla-firefox", "firefox",
                     "mozilla-firebird", "firebird",
+                    "iceweasel", "iceape",
                     "seamonkey", "mozilla", "netscape"):
         if _iscommand(browser):
             register(browser, None, Mozilla(browser))
@@ -471,6 +495,11 @@
     if _iscommand("skipstone"):
         register("skipstone", None, BackgroundBrowser("skipstone"))
 
+    # Google Chrome/Chromium browsers
+    for browser in ("google-chrome", "chrome", "chromium", "chromium-browser"):
+        if _iscommand(browser):
+            register(browser, None, Chrome(browser))
+
     # Opera, quite popular
     if _iscommand("opera"):
         register("opera", None, Opera("opera"))
@@ -489,6 +518,8 @@
 
 # Also try console browsers
 if os.environ.get("TERM"):
+    if _iscommand("www-browser"):
+        register("www-browser", None, GenericBrowser("www-browser"))
     # The Links/elinks browsers <http://artax.karlin.mff.cuni.cz/~mikulas/links/>
     if _iscommand("links"):
         register("links", None, GenericBrowser("links"))
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -25,6 +25,9 @@
 Library
 -------
 
+- Issue #17536: Add to webbrowser's browser list: xdg-open, gvfs-open,
+  www-browser, x-www-browser, chromium browsers, iceweasel, iceape.
+
 - Issue #17656: Fix extraction of zip files with unicode member paths.
 
 - Issue #13355: Raise ValueError on random.triangular call with invalid params.

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list