1
0
mirror of https://github.com/km4ack/patmenu2.git synced 2025-05-16 06:40:10 -07:00
patmenu2/getardoplist
2021-10-29 20:24:22 -05:00

128 lines
3.8 KiB
Bash
Executable File

#!/bin/bash
#This script will download the ardop list to the path set below
#It is intended to be run by cron daily
#to keep the list current. km4ack 20181214
#Hint: create a cron job that reads
#30 23 * * * /usr/local/bin/getardoplist
#This script is provided AS IS
#Feel free to mod for your use
#Two versions of this script exist. One for manual downloads and
#one for cron downloads. The one for cron has no YAD interface.
#Cron wouldn't run correctly with YAD in the code. The other file
#is .getardoplist-cron
TODAY=$(date)
#path where files are located
#must match path in findardop script
MYPATH=$HOME/patmenu2/ardop-list/
#my log file
LOG=$HOME/Documents/mylog.txt
GRIDCK=$(jq .locator $XDG_CONFIG_HOME/pat/config.json)
if [ ${#GRIDCK} -lt 3 ]
then
echo "Grid square not set in Pat Configure" | tee -a $LOG
echo "Distances/Bearings will not be accurate"
yad --center \
--text="Grid square not set in Pat Configure File.\r Run \'pat configure\' to fix"
exit
fi
#make directory if it doesn't exist
mkdir -p $MYPATH
#set variables for each list
FILE=$MYPATH'ardoplist.txt'
EIGHTY=$MYPATH'80mardoplist.txt'
FORTY=$MYPATH'40mardoplist.txt'
TWENTY=$MYPATH'20mardoplist.txt'
THIRTY=$MYPATH'30mardoplist.txt'
PACKET=$MYPATH'packet.txt'
GRID=$(grep locator $XDG_CONFIG_HOME/pat/config.json | sed 's/"locator"://;s/"//g;s/,//;s/ //g')
echo "GRID=$GRID" > $HOME/patmenu2/.grid
#check internet connection
echo "Please wait while we check your internet connection"
echo "This may take up to a minute"
#yad --center --timeout=3 --timeout-indicator=top --no-buttons \
#--text="Please wait while we check your connection \rThis can take up to 30 seconds" &
wget -q --tries=5 --timeout=10 --spider http://google.com #| yad --center --progress --pulsate --timeout-indicator=top --auto-close --no-buttons --text="Checking internet connection"
if [[ $? -eq 0 ]]; then
echo
#yad --center --timeout=2 --timeout-indicator=top --no-buttons --text="Connection Detected" &
echo
echo "Please wait while files are download"
echo "This may take several minutes"
echo "Depending on your internet speed"
else
yad --center --timeout=3 --timeout-indicator=top --no-buttons --text="You are not connected to the internet"
exit
fi
#remove old files before downloading new ones
if [ -f $THIRTY ]; then
rm $THIRTY
fi
if [ -f $FILE ]; then
rm $FILE
fi
if [ -f $EIGHTY ]; then
rm $EIGHTY
fi
if [ -f $FORTY ]; then
rm $FORTY
fi
if [ -f $TWENTY ]; then
rm $TWENTY
fi
if [ -f $PACKET ]; then
rm $PACKET
fi
#put date on top line of each file
echo "List Last Downloaded $(date)" >> $FILE
echo "List Last Downloaded $(date)" >> $FORTY
echo "List Last Downloaded $(date)" >> $EIGHTY
echo "List Last Downloaded $(date)" >> $TWENTY
echo "List Last Downloaded $(date)" >> $THIRTY
echo "List Last Downloaded $(date)" >> $PACKET
#yad --center --progress --pulsate --timeout-indicator=top --auto-close --no-buttons --text="Start Download"
#download list to individual files.
DL(){
pat rmslist -s --mode ardop --force-download >> $FILE
pat rmslist -s --band 80m --mode ardop --force-download >> $EIGHTY
pat rmslist -s --band 40m --mode ardop --force-download >> $FORTY
pat rmslist -s --band 20m --mode ardop --force-download >> $TWENTY
pat rmslist -s --band 30m --mode ardop --force-download >> $THIRTY
pat rmslist -s --mode packet --force-download >> $PACKET
yad --center --timeout=2 --timeout-indicator=top --no-buttons --text="Downloads Done" &
}
DL | yad --center --progress --pulsate --auto-close --no-buttons --text-align=center \
--text="Downloading....This takes ~30 seconds\r<b>DO NOT CLOSE THIS WINDOW</b>\rDoing so will abort the download."
if [ -f "$FILE" ]
then
echo $TODAY" RMS Gateway list download Success" >> $LOG
echo;echo "RMS gateway list download success"
else
echo $TODAY" RMS Gateway list download FAIL" >> $LOG
echo;echo "RMS gateway list failed to download"
fi