classification
Title: webbrowser.open firefox 3 issues
Type: behavior Stage:
Components: Library (Lib) Versions: Python 2.5
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: ajaksu2, elessar, georg.brandl, lauromoura
Priority: normal Keywords: easy, patch

Created on 2008-01-23 01:29 by elessar, last changed 2009-02-10 18:42 by georg.brandl. This issue is now closed.

Files
File name Uploaded Description Edit
webbrowser-nogconf-backport.diff lauromoura, 2008-02-23 15:55 Backport from trunk
Messages (8)
msg61552 - (view) Author: Jon Wilson (elessar) Date: 2008-01-23 01:29
webbrowser.open('http://example.com')

opens something like:

file:///path/to/home/directory/"http://example.com"

in firefox 3 beta 2.  this behavior of firefox will most like not change
in the stable release.
msg61553 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-01-23 01:35
What platform?

How come?

Got a fix that doesn't break for other browsers?

There's a 1-2 week window at most for getting fixes into 2.5.2!
msg61554 - (view) Author: Jon Wilson (elessar) Date: 2008-01-23 03:04
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.
msg61555 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-01-23 03:52
OK, since it's so simple I'll take it if noone else does. But anyone
else who feels like backporting this please go ahead!
msg62757 - (view) Author: Lauro Moura (lauromoura) Date: 2008-02-23 15:55
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.
msg63887 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2008-03-18 04:53
Sorry, I have lots of other things to do before I get to this.  It's too
late for 2.5.2; 2.5.3 won't be out until September or October 2008. 
Please ping before then.
msg81451 - (view) Author: Daniel Diniz (ajaksu2) (Python triager) Date: 2009-02-09 07:20
Out-of-date: fixed in trunk.
msg81577 - (view) Author: Georg Brandl (georg.brandl) * (Python committer) Date: 2009-02-10 18:42
Thanks, closing.
History
Date User Action Args
2009-02-10 18:42:25georg.brandlsetstatus: open -> closed
resolution: out of date
messages: + msg81577
nosy: + georg.brandl
2009-02-09 07:20:24ajaksu2setnosy: + ajaksu2
messages: + msg81451
2009-01-06 05:07:13gvanrossumsetassignee: gvanrossum ->
nosy: - gvanrossum
2008-03-18 19:08:49MichaelBishopsettype: behavior
2008-03-18 04:53:53gvanrossumsetpriority: high -> normal
messages: + msg63887
components: + Library (Lib), - Extension Modules
2008-02-23 15:55:41lauromourasetfiles: + webbrowser-nogconf-backport.diff
nosy: + lauromoura
messages: + msg62757
2008-01-23 03:52:52gvanrossumsetpriority: high
assignee: gvanrossum
messages: + msg61555
keywords: + patch, easy
2008-01-23 03:04:04elessarsetmessages: + msg61554
2008-01-23 01:35:35gvanrossumsetnosy: + gvanrossum
messages: + msg61553
2008-01-23 01:29:30elessarcreate