# Script to detect if a Python module requirement is satisfied.
#
# This should be handled by Meson instead of requiring a script, see:
# https://github.com/mesonbuild/meson/issues/2377

import pkg_resources

import sys

requirements = sys.argv[1:]

returncode = 0

for requirement in requirements:
    if requirement == "gi":
        # PyGObject is 'special', detect it without using pkg_resources.
        try:
            import gi
        except ImportError:
            sys.stderr.write(
                "{}: PyGObject was not found.\n".format(requirement, e.req)
            )
            returncode = 1
        continue

    try:
        pkg_resources.require(requirement)
    except pkg_resources.VersionConflict as e:
        sys.stderr.write(
            "{}: Wanted Python dependency {}, got {}.\n".format(
                requirement, e.req, e.dist
            )
        )
        returncode = 1
    except pkg_resources.DistributionNotFound as e:
        sys.stderr.write(
            "{}: Required Python dependency {} was not found.\n".format(
                requirement, e.req
            )
        )
        returncode = 1

sys.exit(returncode)
