New submission from David Steele:
When calling webbrowser.open*(), the module goes through a list of installed
browsers, and uses the first one that succeeds, to process the request.
The first 'browsers' in the 'X' list are 'xdg-open' and others of that ilk. The
problem is that they only have one 'open' behavior - the 'new' parameter is
ignored ('same window', 'new window', 'new tab').
I can get the fully supported default browser in GNOME with e.g.
def browser():
app = Gio.app_info_get_default_for_type('x-scheme-handler/https', True)
bpath = app.get_filename()
for candidate in webbrowser._tryorder:
if candidate in bpath:
return webbrowser.get(using=candidate)
return webbrowser.get()
... but this code accesses a private list.
The problems are:
1) webbrowser does not determine and return the current default browser.
2) There is no public interface for determining the current/installed browser
type list.
The problem can be mitigated by resolving (1) and/or (2).
Also, the browser type list in the documentation is missing many entries.
Checked on 2.7 and 3.4. I believe this is valid across all supported versions.
----------
messages: 243590
nosy: daves
priority: normal
severity: normal
status: open
title: webbrowser (very often) doesn't support the 'new' parameter
type: behavior
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue24241>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com