#!/usr/bin/env bash

# script path: path to this file
# script options: <remote-ip> <path-to-script.py-relative-to-working-dir> <script args>
# working dir: <root folder to sync>

clear

panic() {
  echo "$1"
  exit 1
}

[ -n "$1" ] || panic "no remote address given (arg 1)"
[ -n "$2" ] || panic "no python script given (arg 2)"
local_dir=$(pwd)

set +x
set +v

remote_address="$1"
script_path_relative_to_local_dir="$2"
remote_dir=/var/volatile/remote_debug

remote="$remote_address:$remote_dir"

echo deploying "$local_dir" to "$remote"

rsync --copy-links \
      --recursive \
      --delete \
      --exclude=".git" \
      --exclude=".hg" \
      --exclude=".idea" \
      --exclude="venv" \
      --exclude="deploy-debug.sh" \
      "$local_dir"/* \
      "root@$remote"

#--verbose \
#--dry-run \
echo "done"
remote_script="$remote_dir/$script_path_relative_to_local_dir"

ssh "root@$remote_address" mkdir -p "$remote_dir"
ssh -t "root@$remote_address" /usr/bin/python -u "$remote_script $3"