Issue 1911: webbrowser.open firefox 3 issues (original) (raw)
I'm running 2.6.23.9 linux kernel fedora 8.
I've gone ahead and downloaded the subversion checkout of the webbrowser.py file to see the differences. The svn version fixes the issue, so then I went a hunting as to why.
In the 2.5 version, with a version of firefox running out of my home directory (but still in my path) webbrowser calles BackgroundBrowser instead of UnixBrowser.
BackgroundBrowser calls subprocess.Popen(cmdline), where cmdline is a tuble in form ['/browser/path', '"http://example.com"'], and subprocess doesn't use/like the double quotes (probably legacy os.popen format)
The difference in the two webbrowser scripts that fixes it is thus:
446a445,455
# The default Gnome browser if _iscommand("gconftool-2"): # get the web browser string from gconftool gc = 'gconftool-2 -g /desktop/gnome/url-handlers/http/command
2>/dev/n ull' out = os.popen(gc) commd = out.read().strip() retncode = out.close()
# if successful, register it if retncode is None and commd: register("gnome", None, BackgroundBrowser(commd.split()))
448,456c457 < # The default GNOME browser < if "GNOME_DESKTOP_SESSION_ID" in os.environ and _iscommand("gnome-open"): < register("gnome-open", None, BackgroundBrowser("gnome-open")) < < # The default KDE browser < if "KDE_FULL_SESSION" in os.environ and _iscommand("kfmclient"): < register("kfmclient", Konqueror, Konqueror("kfmclient")) < < # The Mozilla/Netscape browsers
so it appears to be a problem with gconf that python has to work around.
see: https://bugs.launchpad.net/ubuntu/+source/python2.5/+bug/83974
So as long as it is in trunk 2.5.2 should fix it! (the patch is not in 2.5.1). thanks.
Adding patch with backport from trunk to branches/release25-maint. Tested with firefox(2 and 3a3), epiphany and elinks on GNOME 2.20, altough I coulnd't reproduce the error before from python, even changing the gconf setting manually.