From c43a1bb5e8819b60fa67685a0d70af56b68791ff Mon Sep 17 00:00:00 2001 From: Edwin Takahashi Date: Wed, 13 Nov 2019 19:42:41 +0000 Subject: [PATCH] Bug 1595220 - streamline and sanitize output of distro/platform linux_distribution call in mozinfo r=jmaher Differential Revision: https://phabricator.services.mozilla.com/D52440 --HG-- extra : moz-landing-system : lando --- testing/mozbase/mozinfo/mozinfo/mozinfo.py | 23 +++++++++++----------- testing/mozbase/mozinfo/setup.py | 2 +- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/testing/mozbase/mozinfo/mozinfo/mozinfo.py b/testing/mozbase/mozinfo/mozinfo/mozinfo.py index 2157f517bea40..5b05866c57b40 100755 --- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py +++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py @@ -99,20 +99,19 @@ class OSVERSIONINFOEXW(ctypes.Structure): info['os'] = 'win' os_version = version = unknown elif system == "Linux": - # Only attempt to import distro for Linux. - # https://github.com/nir0s/distro/issues/177 + # Attempt to use distro package to determine Linux distribution first. + # Failing that, fall back to use the platform method. + # Note that platform.linux_distribution() will be deprecated as of 3.8 + # and this block will be removed once support for 2.7/3.5 is dropped. try: - import distro + from distro import linux_distribution except ImportError: - pass - # First use distro package, then fall back to platform. - # This will only until Mozilla upgrades python to 3.8. - if hasattr(distro, "linux_distribution"): - (distribution, os_version, codename) = distro.linux_distribution() - elif hasattr(platform, "linux_distribution"): - (distribution, os_version, codename) = platform.linux_distribution() - else: - (distribution, os_version, codename) = platform.dist() + from platform import linux_distribution + + output = linux_distribution() + (distribution, os_version, codename) = tuple( + str(item.title()) for item in output) + if not processor: processor = machine version = "%s %s" % (distribution, os_version) diff --git a/testing/mozbase/mozinfo/setup.py b/testing/mozbase/mozinfo/setup.py index b180a7a7568ba..19ce726dcb53f 100644 --- a/testing/mozbase/mozinfo/setup.py +++ b/testing/mozbase/mozinfo/setup.py @@ -6,7 +6,7 @@ from setuptools import setup -PACKAGE_VERSION = "1.2.0" +PACKAGE_VERSION = "1.2.1" # dependencies deps = [