76 lines
1.6 KiB
Bash
Executable file
76 lines
1.6 KiB
Bash
Executable file
#! /bin/bash
|
|
# depends on bash >4.3
|
|
|
|
# Prepare Input Variables
|
|
PF=false #print flag
|
|
DF=false #delete flag
|
|
ID="" # fax id
|
|
IDF=false # ID set flag
|
|
BASEPATH=$(dirname $(realpath $0))
|
|
|
|
for ARG in $@
|
|
do
|
|
case $ARG in
|
|
"-p") PF=true ;;
|
|
"-d") DF=true ;;
|
|
"-pd") PF=true; DF=true ;;
|
|
"-dp") PF=true; DF=true ;;
|
|
esac
|
|
if [[ $ARG =~ [0-9]+ && $IDF = false ]]
|
|
then
|
|
ID=$ARG
|
|
IDF=true
|
|
echo $ID
|
|
fi
|
|
done
|
|
|
|
if [ $IDF = false ]
|
|
then
|
|
echo "Guessing…"
|
|
ID=$(tail -n 1 $BASEPATH/.fax_history)
|
|
if [ -z $ID ]
|
|
then
|
|
echo "Nothing to guess from. Please send a fax first"
|
|
exit 1
|
|
fi
|
|
IDF=true
|
|
fi
|
|
|
|
. $BASEPATH/authorization.sh # Checks if account works - after changed auth processes not necessarily needed anymore
|
|
|
|
JSON=$(curl -X GET -H "accept: application/json" --user $SIPUSER:$SIPPWD "https://api.sipgate.com/v2/history/$ID" -s)
|
|
DATE=$(echo $JSON | jq '.created' | sed -e 's:"::g' )
|
|
if [ -z $DATE ]
|
|
then
|
|
echo "Fax seems to not exist with this account."
|
|
exit 1
|
|
fi
|
|
DATE=$(date -d $DATE +%Y%m%d%H%M)
|
|
FILE=$(echo $JSON | jq '.reportUrl' | sed -e 's:"::g' )
|
|
OUTFILE="$DATE-$ID-report.pdf"
|
|
if [ -z $FILE ]
|
|
then
|
|
echo "Fax seems not to be sent successfully (yet). No report available"
|
|
if [ $DF = true ]
|
|
then
|
|
read -p "Delete id from history anyways? (y/n) " DIN
|
|
if [ $DIN =~ [yYjJ] ]
|
|
then
|
|
echo "$(grep -v "^$ID$" $BASEPATH/.fax_history)" > $BASEPATH/.fax_history
|
|
fi
|
|
fi
|
|
exit 1
|
|
fi
|
|
if [ $PF = false ]
|
|
then
|
|
echo "Speichere Report in $OUTFILE"
|
|
curl $FILE --output $OUTFILE -s
|
|
else
|
|
echo "Schicke Report an Drucker"
|
|
curl $FILE -s --output - | lp -
|
|
fi
|
|
if [ $DF = true ]
|
|
then
|
|
echo "$(grep -v "^$ID$" $BASEPATH/.fax_history)" > $BASEPATH/.fax_history
|
|
fi
|