#!/bin/bash
# WF 2020-03-25
os=$(uname -a)
useroption="--user"

#
# autoinstall the package for the given command
#
autoinstall() {
  local l_cmd="$1"
  local l_package="$2"
  echo "checking whether $l_cmd is installed ..."
  which $l_cmd
  if [ $? -ne 0 ]
  then
    echo  "installing $l_cmd from package $l_package ..."
    $install $l_package
  fi
}
case $os in
  Darwin*)
   pip="pip3"
   install="sudo port install"
   ;;
  *)
   pip="pip3"
   if [ "$USER" = "travis" ]
   then
     # https://stackoverflow.com/a/20621143/1497139
     echo "environment is travis with python version $TRAVIS_PYTHON_VERSION"
     pip="pip"
     useroption=""
   fi
   install="sudo apt-get install"
   ;;
esac
#$install python3-pip
autoinstall jq jq
# activate virtual environment
python -m venv .venv
source .venv/bin/activate
useroption=""

$pip --version
echo "installing required python modules with useroption $useroption"
$pip install .

wd=$(pwd)
if [ ! -d web ]
then
  echo "installing needed web files from diagrams.bitplan.com project"
  tmp=/tmp
  cd $tmp
  git clone https://github.com/BITPlan/diagrams
  mv $tmp/diagrams/web $wd/web
  rm -rf /tmp/diagrams
  cd $wd
else
  echo "need web files already installed"
fi

# make sure pywikibot configuration is available
if [ ! -d $HOME/.pywikibot ]
then
   mkdir $HOME/.pywikibot
   echo "creating user-config.py"
   echo "put_throttle = 0" > $HOME/.pywikibot/user-config.py
fi
# make sure there is cache directory
mkdir -p cache
# download spacy NLP
# https://github.com/explosion/spacy-models/releases//tag/en_core_web_sm-2.3.1
python3 -m spacy download en_core_web_sm
# used fixed geography-nltk script
scripts/geograpy-nltk
