#!/usr/bin/python3

from argparse import ArgumentParser
from os import chdir, walk
from pathlib import Path


def main():
    args = parse_args()

    chdir(args.buildroot_sitelib)
    for root, dirs, files in walk(".", topdown=False):
        for filename in files:
            unbundled_path = args.sitelib / root / filename
            if unbundled_path.exists():
                raise SystemExit(
                    f"Conflict with dependency: {unbundled_path}"
                )


def parse_args():
    p = ArgumentParser(
        description="Unbundle modules and packages provided by dependencies"
    )
    p.add_argument(
        "buildroot_sitelib",
        metavar="BUILDROOT_SITELIB",
        type=Path,
        help="Sitelib directory in which (only) this package was installed",
    )
    p.add_argument(
        "sitelib",
        metavar="SITELIB",
        type=Path,
        help="Sitelib directory in which dependent packages were installed",
    )
    return p.parse_args()


if __name__ == "__main__":
    main()
