#!/bin/bash -
#===============================================================================
#
#         FILE: sync_hpr
#
#        USAGE: ./sync_hpr
#
#  DESCRIPTION: Runs rsync to pull the contents of the 'upload' directory from
#               the HPR server. Uses a filter in the file '.rsync_hpr_upload'
#               so that it only copies the files relevant to managing
#               submitted shows. Files and directories deleted on the HPR
#               server are also deleted here.
#
#      OPTIONS: ---
# REQUIREMENTS: ---
#         BUGS: ---
#        NOTES: ---
#       AUTHOR: Dave Morriss (djm), Dave.Morriss@gmail.com
#      VERSION: 0.0.7
#      CREATED: 2020-01-03 23:18:58
#     REVISION: 2023-06-14 18:06:06
#
#===============================================================================

set -o nounset                              # Treat unset variables as an error

SCRIPT=${0##*/}
# DIR=${0%/*}

#
# Load library functions
#
LIB="$HOME/bin/function_lib.sh"
[ -e "$LIB" ] || { echo "$SCRIPT: Unable to source functions"; exit 1; }
# shellcheck source=/home/cendjm/bin/function_lib.sh
source "$LIB"

#
# Colour codes
#
define_colours

#
# Directories
#
BASEDIR="$HOME/HPR/Show_Submission"
HPRUPLOAD='hpr@hackerpublicradio.org:upload/'
UPLOAD="$BASEDIR/upload"

#
# Settings
#
# PORT=22074
PORT=22

#
# Change directory
#
cd "$BASEDIR" || { echo "$SCRIPT: Failed to change directory to $BASENAME"; exit 1; }

#
# Check the tunnel is open
#
if ! tunnel_is_open; then
    echo "$SCRIPT: Open the tunnel before running"
    exit 1
fi

#
# Use 'rsync' to collect relevant data from the HPR server's 'upload'
# directory.
#
rsync -vaP -e "ssh -p $PORT" --delete --filter=". .rsync_hpr_upload" "$HPRUPLOAD" "$UPLOAD"

# vim: syntax=sh:ts=8:sw=4:ai:et:tw=78:fo=tcrqn21