that's it lol
Signed-off-by: flamexode <shihaamfala@wovencoast.me>
This commit is contained in:
parent
4c26374d1a
commit
9a5cf10b6e
94
prayertime.sh
Normal file
94
prayertime.sh
Normal file
@ -0,0 +1,94 @@
|
||||
PRAYERTIMES_CSV="prayertimes.csv"
|
||||
# PT = prayer time
|
||||
# ESec = Epoch second
|
||||
# Human = Human readable
|
||||
function convertPTToESec() {
|
||||
local arg="$(( $1 / 60 )):$(( $1 % 60 )) today"
|
||||
echo $(date -d "$arg" +%s)
|
||||
}
|
||||
function convertPTToESecTomorrow() {
|
||||
local arg="$(( $1 / 60 )):$(( $1 % 60 )) tomorrow"
|
||||
echo $(date -d "$arg" +%s)
|
||||
}
|
||||
function convertPTToHuman() {
|
||||
# echo $1
|
||||
if (( $(( $1 / 60 )) > 9 )) ; then
|
||||
echo "$(( $1 / 60 )):$(( $1 % 60 ))"
|
||||
else
|
||||
echo "0$(( $1 / 60 )):$(( $1 % 60 ))"
|
||||
fi
|
||||
# echo "$(( $1 / 60 )):$(( $1 % 60 ))"
|
||||
}
|
||||
|
||||
# thanks https://devhints.io/bash#getting-options
|
||||
while [[ "$1" =~ ^- && ! "$1" == "--" ]]; do case $1 in
|
||||
-h | --help )
|
||||
echo "Usage: $0 [OPTIONS] [FILE]"
|
||||
echo "Options:"
|
||||
echo " -h, --help Show this help message and exit"
|
||||
echo " -f, --file Use FILE as the prayer times CSV file"
|
||||
exit 0
|
||||
;;
|
||||
-f | --file )
|
||||
shift; PRAYERTIMES_CSV=$1
|
||||
;;
|
||||
esac; shift; done
|
||||
if [[ "$1" == '--' ]]; then shift; fi
|
||||
|
||||
|
||||
|
||||
NOW=$(date +%s)
|
||||
DAY_OF_YEAR=$(($(date -d "@$NOW" +%j) - 1))
|
||||
|
||||
if [[ ! -s $PRAYERTIMES_CSV ]]; then
|
||||
echo "Prayertimes db is missing"
|
||||
echo "Attempting to fetch it from github..."
|
||||
echo "Enter the Island ID (more info in https://github.com/WovenCoast/prayertimes-db/blob/main/island-mapping.md) :"
|
||||
read ISLAND_ID
|
||||
if [[ -z $ISLAND_ID ]]; then
|
||||
echo "No Island ID entered. Defaulting to 102"
|
||||
ISLAND_ID=102
|
||||
fi
|
||||
echo "Fetching prayertimes db from github..."
|
||||
wget -O $PRAYERTIMES_CSV "https://raw.githubusercontent.com/WovenCoast/prayertimes-db/main/out/$ISLAND_ID.csv"
|
||||
if [[ ! -s $PRAYERTIMES_CSV ]]; then
|
||||
echo "Failed using wget, trying curl..."
|
||||
curl -o $PRAYERTIMES_CSV "https://raw.githubusercontent.com/WovenCoast/prayertimes-db/main/out/$ISLAND_ID.csv"
|
||||
if [[ ! -s $PRAYERTIMES_CSV ]]; then
|
||||
echo "Failed to fetch prayertimes db from github"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Prayertimes db fetched successfully"
|
||||
echo "To change this, delete the file $PRAYERTIMES_CSV and run this script again to choose another island id"
|
||||
fi
|
||||
|
||||
# this really isn't necessary but
|
||||
# if you do have a better way, feel free to contribute
|
||||
|
||||
today_Fajr=$(grep "^$DAY_OF_YEAR," $PRAYERTIMES_CSV | cut -d, -f2)
|
||||
today_Sunrise=$(grep "^$DAY_OF_YEAR," $PRAYERTIMES_CSV | cut -d, -f3)
|
||||
today_Dhuhr=$(grep "^$DAY_OF_YEAR," $PRAYERTIMES_CSV | cut -d, -f4)
|
||||
today_Asr=$(grep "^$DAY_OF_YEAR," $PRAYERTIMES_CSV | cut -d, -f5)
|
||||
today_Maghrib=$(grep "^$DAY_OF_YEAR," $PRAYERTIMES_CSV | cut -d, -f6)
|
||||
today_Isha=$(grep "^$DAY_OF_YEAR," $PRAYERTIMES_CSV | cut -d, -f7)
|
||||
tomorrow_Fajr=$(grep "^$((($DAY_OF_YEAR + 1) % 366))," $PRAYERTIMES_CSV | cut -d, -f2)
|
||||
|
||||
|
||||
if [[ $(convertPTToESec $today_Fajr) -ge $NOW ]]; then
|
||||
echo "Fajr $(convertPTToHuman $today_Fajr)"
|
||||
# elif [[ $(convertPTToESec $today_Sunrise) -ge $NOW ]]; then
|
||||
# echo "Sunrise $(convertPTToHuman $today_Sunrise)"
|
||||
elif [[ $(convertPTToESec $today_Dhuhr) -ge $NOW ]]; then
|
||||
echo "Dhuhr $(convertPTToHuman $today_Dhuhr)"
|
||||
elif [[ $(convertPTToESec $today_Asr) -ge $NOW ]]; then
|
||||
echo "Asr $(convertPTToHuman $today_Asr)"
|
||||
elif [[ $(convertPTToESec $today_Maghrib) -ge $NOW ]]; then
|
||||
echo "Maghrib $(convertPTToHuman $today_Maghrib)"
|
||||
elif [[ $(convertPTToESec $today_Isha) -ge $NOW ]]; then
|
||||
echo "Isha $(convertPTToHuman $today_Isha)"
|
||||
elif [[ $(convertPTToESecTomorrow $tomorrow_Fajr) -ge $NOW ]]; then
|
||||
echo "Fajr $(convertPTToHuman $tomorrow_Fajr)"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user