#!/bin/bash

function print_usage_and_exit {
    echo "./init [-s]"
    echo -e "Prepare the environment for Memgraph QA.\n"
    echo "Optional arguments:"
    echo -e "  -s\tuse sudo apt-get for installing required packages"
    exit 1
}

# read arguments
use_sudo=false
while [[ $# -gt 0 ]]; do
    case $1 in
        -s)
            use_sudo=true
            shift
            ;;
        *)
            # unknown option
            print_usage_and_exit
            ;;
    esac
done

# exit if any subcommand returns a non-zero status
set -e

script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd ${script_dir}

required_pkgs=(python-virtualenv python3-pip) # required by 'run' script

# install all dependencies on debian based operating systems
required_missing=false
for pkg in ${required_pkgs[@]}; do
    if dpkg -s $pkg 2>/dev/null >/dev/null; then
        echo "Found $pkg"
    elif [[ $use_sudo = true ]]; then
        echo "Installing $pkg"
        if [[ ! `sudo apt-get -y install $pkg` ]]; then
            echo "Didn't install $pkg [required]"
            required_missing=true
        fi
    else
        echo "Missing $pkg [required]"
        required_missing=true
    fi
done

if [[ $required_missing = true ]]; then
    echo "Missing required packages. EXITING!"
    echo "Please, install required packages and rerun $0 again."
    exit 2
fi

# setup ve
if [ ! -d "ve3" ]; then
    virtualenv -p python3 ve3
fi
source ve3/bin/activate
pip3 install --upgrade pip
pip3 install -r requirements.txt
