summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOded Arbel <oded@geek.co.il>2024-08-31 06:11:57 (GMT)
committerGitHub <noreply@github.com>2024-08-31 06:11:57 (GMT)
commit10bf615bab9f832971a098f0a42b0d617aea6993 (patch)
tree22b7d1a60ff04720b364db255ac028bd91216c5e
parent74bfb53e3afb6f5dd90dff3ef0e2dc3b2fba823e (diff)
downloadcpython-10bf615bab9f832971a098f0a42b0d617aea6993.zip
cpython-10bf615bab9f832971a098f0a42b0d617aea6993.tar.gz
cpython-10bf615bab9f832971a098f0a42b0d617aea6993.tar.bz2
gh-108172: do not override OS preferred browser if it is a super-string of a known browser (GH-113011)
When checking if the registering browser is the "OS preferred browser", do not use a substring search - that makes no sense: one can have a preferred browser that looks like a super-string of a known browser, e.g. "firefox-nightly" vs "firefox". https://github.com/python/cpython/issues/108172 explains in more detail, and lays out a potential better future enhancement for this case of just using xdg-open. We'll go with this for now. --------- Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
-rw-r--r--Lib/webbrowser.py2
-rw-r--r--Misc/NEWS.d/next/Library/2023-12-12-15-19-58.gh-issue-108172.KyDPuG.rst1
2 files changed, 2 insertions, 1 deletions
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 6fca257..252ca92 100644
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -31,7 +31,7 @@ def register(name, klass, instance=None, *, preferred=False):
# Preferred browsers go to the front of the list.
# Need to match to the default browser returned by xdg-settings, which
# may be of the form e.g. "firefox.desktop".
- if preferred or (_os_preferred_browser and name in _os_preferred_browser):
+ if preferred or (_os_preferred_browser and f'{name}.desktop' == _os_preferred_browser):
_tryorder.insert(0, name)
else:
_tryorder.append(name)
diff --git a/Misc/NEWS.d/next/Library/2023-12-12-15-19-58.gh-issue-108172.KyDPuG.rst b/Misc/NEWS.d/next/Library/2023-12-12-15-19-58.gh-issue-108172.KyDPuG.rst
new file mode 100644
index 0000000..5c6b9cd
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2023-12-12-15-19-58.gh-issue-108172.KyDPuG.rst
@@ -0,0 +1 @@
+``webbrowser`` honors OS preferred browser on Linux when its desktop entry name contains the text of a known browser name.