#!/usr/bin/env python3
# Software License Agreement (GPL)
#
# \file      venv_install
# \authors   Paul Bovbel <pbovbel@locusrobotics.com>
# \copyright Copyright (c) (2017,), Locus Robotics, All rights reserved.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

import argparse

from catkin_virtualenv import configure_logging
from catkin_virtualenv.venv import Virtualenv


if __name__ == '__main__':
    configure_logging()

    parser = argparse.ArgumentParser(description=Virtualenv.install.__doc__)
    parser.add_argument(
        'venv', help="Path of virtualenv to manage.")
    parser.add_argument(
        '--requirements', required=True, nargs='+', help="Requirements to sync to virtualenv.")
    parser.add_argument(
        '--extra-pip-args', default='""', type=str, help="Extra pip args for install.")

    args = parser.parse_args()

    extra_pip_args = args.extra_pip_args[1:-1]

    venv = Virtualenv(args.venv)
    venv.install(
        requirements=args.requirements,
        extra_pip_args=[arg for arg in extra_pip_args.split(" ") if arg != ""],
    )
