Re: Firefox bug in webbrowser module on Ubuntu?!
Paul Boddie napisaĆ(a): > There are certain ways to override the autodetection in use within that > module, and a DESKTOP_LAUNCH environment variable can also be set to > configure its behaviour further. Unfortunately, attempts to confirm the > standardisation status of that variable failed to cut through the turf > wars, newbie-bashing and MIME type hair-splitting on the xdg mailing > list, but a Google search seemed to suggest that my application of it > isn't inappropriate. As this isn't yet actual standard but proposed only, I decided to give my users ability to select preferred way to "open" media files, so even running some exotic desktop (Fluxbox and FVWM are very popular choices here) they can open urls from my application using either kfmclient, gnome-open or custom defined command. -- Jarek Zgoda http://jpa.berlios.de/ -- http://mail.python.org/mailman/listinfo/python-list
Re: Firefox bug in webbrowser module on Ubuntu?!
This seems ok... >>> import webbrowser >>> webbrowser._iscommand("firefox") True >>> webbrowser.register("firefox",None,webbrowser.Netscape("firefox")) >>> webbrowser._browsers {'galeon': [None, ], 'firefox': [None, ], 'mozilla': [None, ], 'mozilla-firefox': [None, ], 'w3m': [None, ]} But it is still not working... >>> webbrowser.open("http://www.python.org";) ...doesn't do anything However... >>> import os >>> os.path.exists('/usr/bin/firefox') True I also have Ubuntu on a VMware Player and there it works out of the box, although firefox is not registered there. (mozilla-firefox is.) It is strange as I just installed Ubuntu on this system and can't imagine something is screwed up already. -- http://mail.python.org/mailman/listinfo/python-list
Re: Firefox bug in webbrowser module on Ubuntu?!
ncf> This section is the cause of the problem: ncf> for browser in ("mozilla-firefox", "mozilla-firebird", ncf> "mozilla", "netscape"): ncf> if _iscommand(browser): ncf> register(browser, None, Netscape(browser)) In SVN trunk (aka 2.5a0) this code is for browser in ("mozilla-firefox", "firefox", "mozilla-firebird", "firebird", "mozilla", "netscape"): if _iscommand(browser): register(browser, None, Mozilla(browser)) where Mozilla == Netscape, so your proposed fix appears to be correct. (Which reminds me, I have a patch to webbrowser.py to test...) Skip -- http://mail.python.org/mailman/listinfo/python-list
Re: Firefox bug in webbrowser module on Ubuntu?!
This section is the cause of the problem: for browser in ("mozilla-firefox", "mozilla-firebird", "mozilla", "netscape"): if _iscommand(browser): register(browser, None, Netscape(browser)) It's trying to load "mozilla-firefox" as the exec name instead of simply "firefox". A potential workaround *might* be to do this: import webbrowser if webbrowser._iscommand("firefox"): webbrowser.register("firefox", None, Netscape("firefox")) webbrowser.open("http://www.google.com/";) ((Untested)) Best of luck SPE - Stani's Python Editor wrote: > Hi, > > During optimizing SPE for Ubuntu, I found something strange. I have > Ubuntu 5.10 "The Breezy Badger" and unfortunately this code is not > working: > > >>> import webbrowser > >>> webbrowser.open("http://www.python.org";) > > It does not throw an exception, but is not able to launch a browser. > > Ubuntu ships with Firefox as its default browser, but it looks like it > is not recognized by the standard webbrowser module, instead it seems > to prefer Netscape, which is not installed: > > >>> import webbrowser > >>> webbrowser.browser > 'netscape' > > In the _browsers attribute there seems to be an entry for > 'mozilla-firefox', but doesn't seem to work > >>> webbrowser._browsers > {'galeon': [None, ], > 'mozilla': [None, ], > 'mozilla-firefox': [None, 0xb7d2612c>], 'w3m': [None, 0xb7d22fec>]} > > The tryorder is... > >>> webbrowser._tryorder > ['galeon', 'mozilla-firefox', 'mozilla', 'w3m'] > > As a workaround I check for the file '/usr/bin/firefox' and use a > os.system call. Of course a user could maybe install Netscape, but it > would be absurd that SPE would require Netscape. > > Is there a reason why this doesn't work? It looks like a bug. > > Stani > -- > http://pythonide.stani.be -- http://mail.python.org/mailman/listinfo/python-list
Re: Firefox bug in webbrowser module on Ubuntu?!
SPE - Stani's Python Editor wrote: > > During optimizing SPE for Ubuntu, I found something strange. I have > Ubuntu 5.10 "The Breezy Badger" and unfortunately this code is not > working: > > >>> import webbrowser > >>> webbrowser.open("http://www.python.org";) > > It does not throw an exception, but is not able to launch a browser. My opinion is that the webbrowser module is fairly obsolete, and that on modern desktop environments one should use whichever mechanism that is provided by such environments to open URLs instead. Consequently, I made a package available for the purpose of performing such operations: http://www.python.org/pypi/desktop There are certain ways to override the autodetection in use within that module, and a DESKTOP_LAUNCH environment variable can also be set to configure its behaviour further. Unfortunately, attempts to confirm the standardisation status of that variable failed to cut through the turf wars, newbie-bashing and MIME type hair-splitting on the xdg mailing list, but a Google search seemed to suggest that my application of it isn't inappropriate. Paul -- http://mail.python.org/mailman/listinfo/python-list
Firefox bug in webbrowser module on Ubuntu?!
Hi, During optimizing SPE for Ubuntu, I found something strange. I have Ubuntu 5.10 "The Breezy Badger" and unfortunately this code is not working: >>> import webbrowser >>> webbrowser.open("http://www.python.org";) It does not throw an exception, but is not able to launch a browser. Ubuntu ships with Firefox as its default browser, but it looks like it is not recognized by the standard webbrowser module, instead it seems to prefer Netscape, which is not installed: >>> import webbrowser >>> webbrowser.browser 'netscape' In the _browsers attribute there seems to be an entry for 'mozilla-firefox', but doesn't seem to work >>> webbrowser._browsers {'galeon': [None, ], 'mozilla': [None, ], 'mozilla-firefox': [None, ], 'w3m': [None, ]} The tryorder is... >>> webbrowser._tryorder ['galeon', 'mozilla-firefox', 'mozilla', 'w3m'] As a workaround I check for the file '/usr/bin/firefox' and use a os.system call. Of course a user could maybe install Netscape, but it would be absurd that SPE would require Netscape. Is there a reason why this doesn't work? It looks like a bug. Stani -- http://pythonide.stani.be -- http://mail.python.org/mailman/listinfo/python-list