[Python-Dev] webbrowser.py
M.-A. Lemburg
mal@lemburg.com
Tue, 23 Jan 2001 10:08:24 +0100
Ka-Ping Yee wrote:
>
> On Mon, 22 Jan 2001, Ka-Ping Yee wrote:
> > In trying to do the latter i've found the webbrowser module pretty
> > unreliable, by the way. For example, it relies on a constant delay
> > of 4 seconds to launch a new browser that can't be expected on all
> > platforms, and fails to launch Netscape 3 because it supplies an
> > illegal command-line option. When i've found good cross-platform
> > ways to make this work i'll suggest some patches.
>
> Oh, and i forgot to mention... i was pretty disappointed that:
>
> setenv BROWSER my_browser_program
> python -c 'import webbrowser; webbrowser.open("http://python.org/")'
>
> doesn't execute "my_browser_program http://python.org/" as i would
> have hoped. Even for a known browser type:
>
> setenv BROWSER lynx
> python -c 'import webbrowser; webbrowser.open("http://python.org/")'
>
> does not work as expected, either. (Red Hat Linux here.)
Hmm, lynx should work (the module has explicit support for it)
and yes, I agree, webbrowser should trust BROWSER and use a
generic calling mechanism (program <url>) for opening the
URL.
Too late for 2.1a1, but maybe for a2 ?!
BTW, I think that the second line here is causing the problem:
class CommandLineBrowser:
_browsers = [] # <- this overrides the global of the same name
if os.environ.get("DISPLAY"):
_browsers.extend([
("netscape", "netscape %s >/dev/null &"),
("mosaic", "mosaic %s >/dev/null &"),
])
_browsers.extend([
("lynx", "lynx %s"),
("w3m", "w3m %s"),
])
--
Marc-Andre Lemburg
______________________________________________________________________
Company: http://www.egenix.com/
Consulting: http://www.lemburg.com/
Python Pages: http://www.lemburg.com/python/