# ------------------------------------------------------------------
|
# Copyright (c) 2023 PyInstaller Development Team.
|
#
|
# This file is distributed under the terms of the GNU General Public
|
# License (version 2.0 or later).
|
#
|
# The full license is available in LICENSE, distributed with
|
# this software.
|
#
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
# ------------------------------------------------------------------
|
import os
|
import sys
|
|
# see https://github.com/giampaolo/psutil/blob/release-5.9.5/psutil/_common.py#L82
|
WINDOWS = os.name == "nt"
|
LINUX = sys.platform.startswith("linux")
|
MACOS = sys.platform.startswith("darwin")
|
FREEBSD = sys.platform.startswith(("freebsd", "midnightbsd"))
|
OPENBSD = sys.platform.startswith("openbsd")
|
NETBSD = sys.platform.startswith("netbsd")
|
BSD = FREEBSD or OPENBSD or NETBSD
|
SUNOS = sys.platform.startswith(("sunos", "solaris"))
|
AIX = sys.platform.startswith("aix")
|
|
excludedimports = [
|
"psutil._pslinux",
|
"psutil._pswindows",
|
"psutil._psosx",
|
"psutil._psbsd",
|
"psutil._pssunos",
|
"psutil._psaix",
|
]
|
|
# see https://github.com/giampaolo/psutil/blob/release-5.9.5/psutil/__init__.py#L97
|
if LINUX:
|
excludedimports.remove("psutil._pslinux")
|
elif WINDOWS:
|
excludedimports.remove("psutil._pswindows")
|
# see https://github.com/giampaolo/psutil/blob/release-5.9.5/psutil/_common.py#L856
|
# This will exclude `curses` for windows
|
excludedimports.append("curses")
|
elif MACOS:
|
excludedimports.remove("psutil._psosx")
|
elif BSD:
|
excludedimports.remove("psutil._psbsd")
|
elif SUNOS:
|
excludedimports.remove("psutil._pssunos")
|
elif AIX:
|
excludedimports.remove("psutil._psaix")
|