in mozregression/telemetry.py [0:0]
def get_system_info():
"""Return a dictionary with various information about the system."""
UNKNOWN = "unknown"
info = {
"windows_version": None,
"mac_version": None,
"linux_version": None,
"linux_distro": None,
"python_version": None,
}
if mozinfo.os == "mac":
try:
# Fetch the "release" from tuple containing macOS version information.
# See https://docs.python.org/3/library/platform.html#macos-platform.
info["mac_version"] = platform.mac_ver()[0]
except (AttributeError, IndexError):
info["mac_version"] = UNKNOWN
elif mozinfo.os == "win":
try:
# Fetch "version" from tuple containing Windows version information.
# See https://docs.python.org/3/library/platform.html#windows-platform.
info["windows_version"] = platform.win32_ver()[1]
except (AttributeError, IndexError):
info["windows_version"] = UNKNOWN
elif mozinfo.os == "linux":
distro_info = distro.info()
try:
info["linux_version"] = distro_info["version"]
info["linux_distro"] = distro_info["id"]
except KeyError:
info["linux_version"] = UNKNOWN
info["linux_distro"] = UNKNOWN
info["python_version"] = platform.python_version()
return info