#!/usr/bin/env bash

level="${level:-19}"

cmd=$(which tar)
if command -v "gtar" &> /dev/null; then
    cmd=$(which gtar)
fi
echo "Using $cmd"

# Read first parameter
arg1="$1"
name="$1".tar.zst.gpg
shift
echo "Output to $name"

# Read second parameter
if [[ -z "$*" ]]; then
    files="$arg1"
else
    files="$*"
fi

echo "Compressing $files"

cores=$(python3 -c "import os; print(os.cpu_count())")
echo "Starting ZSTD compression with $cores cores and level $level"
"$cmd" -I "zstd -T$cores -$level" --checkpoint=.1024 --totals --totals=SIGUSR1 -cf - "$files" | gpg --symmetric --cipher-algo aes256 -o "$name"