#!/usr/bin/python3

from argparse import ArgumentParser
from os import mkdir
from pathlib import Path
from shutil import copytree


def main():
    args = parse_args()
    init = "__init__.py"

    try:
        mkdir(args.target_sitelib)
    except FileExistsError:
        pass
    dest = str(args.target_sitelib)

    for dep in args.dependencies:
        copytree(
            dep, args.target_sitelib / Path(dep).name, dirs_exist_ok=True
        )

    for path in args.buildroot_sitelib.iterdir():
        copytree(
            args.buildroot_sitelib, args.target_sitelib, dirs_exist_ok=True
        )


def parse_args():
    p = ArgumentParser(
        description="Make a combined sitelib including dependencies"
    )
    p.add_argument(
        "buildroot_sitelib",
        metavar="BUILDROOT_SITELIB",
        type=Path,
        help="Sitelib directory in which (only) this package was installed",
    )
    p.add_argument(
        "target_sitelib",
        metavar="TARGET_SITELIB",
        type=Path,
        help="Sitelib directory in which to combine with dependencies",
    )
    p.add_argument(
        "dependencies",
        metavar="DEPENDENCY_PACKAGE",
        type=Path,
        nargs="*",
        help="File or directory correspoinding to dependency package/module",
    )
    return p.parse_args()


if __name__ == "__main__":
    main()
