From e50b7b65a48ef137a04b2becfc82b78cc354c224 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 8 Aug 2017 20:19:33 +0200 Subject: version.distribution(): Handle Funtoo --- qutebrowser/utils/version.py | 7 ++++++- tests/unit/utils/test_version.py | 9 +++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py index e1cc26e64..3d712e57a 100644 --- a/qutebrowser/utils/version.py +++ b/qutebrowser/utils/version.py @@ -81,6 +81,8 @@ def distribution(): return None pretty = info.get('PRETTY_NAME', 'Unknown') + if pretty == 'Linux': # Thanks, Funtoo + pretty = info.get('NAME', pretty) if 'VERSION_ID' in info: dist_version = pkg_resources.parse_version(info['VERSION_ID']) @@ -88,8 +90,11 @@ def distribution(): dist_version = None dist_id = info.get('ID', None) + id_mappings = { + 'funtoo': 'gentoo', # does not have ID_LIKE=gentoo + } try: - parsed = Distribution[dist_id] + parsed = Distribution[id_mappings.get(dist_id, dist_id)] except KeyError: parsed = Distribution.unknown diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py index 32c3fcf5c..c9c97c6b8 100644 --- a/tests/unit/utils/test_version.py +++ b/tests/unit/utils/test_version.py @@ -163,6 +163,15 @@ from qutebrowser.browser import pdfjs version.DistributionInfo( id='manjaro', parsed=version.Distribution.manjaro, version=None, pretty='Manjaro Linux')), + # Funtoo + (""" + ID="funtoo" + NAME="Funtoo GNU/Linux" + PRETTY_NAME="Linux" + """, + version.DistributionInfo( + id='funtoo', parsed=version.Distribution.gentoo, + version=None, pretty='Funtoo GNU/Linux')), ]) def test_distribution(tmpdir, monkeypatch, os_release, expected): os_release_file = tmpdir / 'os-release' -- cgit v1.2.3-54-g00ecf