#!/usr/bin/env bash

: <<'END'
aprspass
python script wrapper for aprspass.py
US Only - uses validcall.py

Version 0.2

Steve de Bode - W0FFS - July 2026

Input:	callsign
Output: APRS password
END

UI_LIB="/usr/local/lib/digihub/dh.lib"
[ -r "$UI_LIB" ] && source "$UI_LIB" || {
  printf "\nERROR: Missing UI library: %s\n\n" "$UI_LIB" >&2
  exit 1
}

usage_error() { # usage_error "<callsign>"
 err_section "Usage"
 err_kv "Command" "${0##*/}"
 err_kv "Syntax"  "${0##*/} $1"
 printf "\n" >&2
}

invalid_callsign_error() { # invalid_callsign_error "W0FFS"
 err_section "Invalid Callsign"
 err_kv "Callsign" "${1^^}"
 printf "\n" >&2
 exit 1
}

# Check Parameters
if [ "$#" -ne "1" ]; then
 err_section "Incorrect Syntax"
 usage_error "<callsign>"
 exit 2
fi

# Validate callsign
validcall=$(validcall.py "$1")
case $? in
 0) ;; 
 1|2) invalid_callsign_error "$1" ;;
 *) err_section "Error"; err_kv "Message" "Unexpected failure"; printf "\n" >&2; exit 1 ;;
esac

aprspass=$(aprspass.py "$1")

section "APRS Password"
kv "Callsign" "${1^^}"
kv "Password" "$aprspass"
printf "\n"
