Last active
July 24, 2017 13:47
-
-
Save jameswhite/72b0c1b29fd6fc03a9584c0811ff7183 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# date should be yyyymmdd | |
ARGS="$*" | |
export TARGET=$(date -jf "%Y%m%d" ${ARGS} +"%m/%d/%Y") | |
export TICKET_DATE=$(date -jf "%Y%m%d" ${ARGS} +"%a %b%d %g") | |
# cache every day | |
[ ! -f /var/tmp/pb ] || [ $(find /var/tmp/pb -mmin +3600) ] && curl -sk http://www.powerball.com/powerball/winnums-text.txt > /var/tmp/pb | |
[ ! -f /var/tmp/hl ] || [ $(find /var/tmp/hl -mmin +3600) ] && curl -sk http://www.powerball.com/hotlotto/winnums-text.txt > /var/tmp/hl | |
[ ! -f /var/tmp/mm ] || [ $(find /var/tmp/mm -mmin +3600) ] && \ | |
curl -sk https://data.ny.gov/api/views/5xaw-6ayf/rows.json?accessType=DOWNLOAD | \ | |
jq -c '.data[] | {"date": .[8], "numbers": .[9], "mega": .[10], "multiplier": .[11]}' | \ | |
jq -c -r '[ .date, .numbers, .mega, .multiplier ]' | \ | |
sed -e 's/\[//g' -e 's/[,"]/ /g' -e 's/\]//g' -e 's/^ //g'| \ | |
tr -s '[:space:]' | \ | |
while read date num[0] num[1] num[2] num[3] num[4] megaball multiplier; do | |
[ "${multiplier}" == "null" ] && multiplier="01" | |
NEW_DATE=$(echo $date|sed -e 's/T.*//') | |
FILE_DATE=$(date -jf "%Y-%m-%d" ${NEW_DATE} +"%m/%d/%Y") | |
echo "${FILE_DATE} $(echo "${num[@]}"| tr " " "\n" | sort -n | tr "\n" " ")$megaball $multiplier"; | |
done > /var/tmp/mm | |
speech(){ | |
results="$*" | |
echo "${results}" | while read day monthday year lbracket wb1 wb2 wb3 wb4 wb5 rbacket ball; do | |
say "$day $monthday $year"; | |
sleep 1 | |
say "$wb1" ; sleep 1 | |
say "$wb2" ; sleep 1 | |
say "$wb3" ; sleep 1 | |
say "$wb4" ; sleep 1 | |
say "$wb5" ; sleep 1 | |
say "ball $ball" | |
done | |
} | |
case $(basename $0) in | |
"powerball"|"pb") | |
RESULTS=$(grep "${TARGET}" /var/tmp/pb | sed -e 's/ | |
//g' | while read date num[0] num[1] num[2] num[3] num[4] powerball powerplay; do echo "${TICKET_DATE} [ $(echo "${num[@]}"| tr " " "\n" | sort -n | tr "\n" " ")] [ $powerball ]"; done) | |
if [ ! -z "${RESULTS}" ]; then | |
echo "${RESULTS}" | |
[ "$(uname -s)" == "Darwin" ] && speech "${RESULTS}" | |
else | |
echo "No powerball results found for ${TICKET_DATE}" | |
fi | |
;; | |
"megamillions"|"mm") | |
RESULTS=$(grep "${TARGET}" /var/tmp/mm | sed -e 's/ | |
//g' | while read date num[0] num[1] num[2] num[3] num[4] megaball multiplier; do echo "${TICKET_DATE} [ $(echo "${num[@]}"| tr " " "\n" | sort -n | tr "\n" " ")] [ $megaball ]"; done) | |
if [ ! -z "${RESULTS}" ]; then | |
echo "${RESULTS}" | |
[ "$(uname -s)" == "Darwin" ] && speech "${RESULTS}" | |
else | |
echo "No mega-millions results found for ${TICKET_DATE}" | |
fi | |
;; | |
"hotlotto"|"hl") | |
RESULTS=$(grep "${TARGET}" /var/tmp/hl | sed -e 's/ | |
//g' | while read date num[0] num[1] num[2] num[3] num[4] hotball multiplier; do echo "${TICKET_DATE} [ $(echo "${num[@]}"| tr " " "\n" | sort -n | tr "\n" " ")] [ $hotball ]"; done) | |
if [ ! -z "${RESULTS}" ]; then | |
echo "${RESULTS}" | |
[ "$(uname -s)" == "Darwin" ] && speech "${RESULTS}" | |
else | |
echo "No hot-lotto results found for ${TICKET_DATE}" | |
fi | |
;; | |
*) | |
for file in pb mm hl; do | |
grep "${TARGET}" /var/tmp/${file} | sed -e 's/ | |
//g' | while read date num[0] num[1] num[2] num[3] num[4] ball multiplier; do echo "${file} => ${TICKET_DATE} [ $(echo "${num[@]}"| tr " " "\n" | sort -n | tr "\n" " ")] [ $ball ]"; done | |
done | |
;; | |
esac |
mm-loop
#!/bin/bash
i=1
NEXT_DATE="$*"
NEXT_DATE=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%Y%m%d)
DAYOFWEEK=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%a)
clear
# echo "${NEXT_DATE} ${DAYOFWEEK}"
mm ${NEXT_DATE}
while read trash; do
i=$(expr $i + 1)
NEXT_DATE=$(date -j -v +1d -f "%Y%m%d" "${NEXT_DATE}" +%Y%m%d)
DAYOFWEEK=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%a)
echo ${DAYOFWEEK} | egrep -q "(Tue|Fri)"
EXIT=$?
while [ "$EXIT" != "0" ]; do
i=$(expr $i + 1)
NEXT_DATE=$(date -j -v +1d -f "%Y%m%d" "${NEXT_DATE}" +%Y%m%d)
DAYOFWEEK=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%a)
echo ${DAYOFWEEK} | egrep -q "(Tue|Fri)"
EXIT=$?
done
clear
# echo "${NEXT_DATE} ${DAYOFWEEK}"
mm ${NEXT_DATE}
done
hl-loop
#!/bin/bash
i=1
NEXT_DATE="$*"
NEXT_DATE=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%Y%m%d)
DAYOFWEEK=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%a)
clear
# echo "${NEXT_DATE} ${DAYOFWEEK}"
hl ${NEXT_DATE}
while read trash; do
i=$(expr $i + 1)
NEXT_DATE=$(date -j -v +1d -f "%Y%m%d" "${NEXT_DATE}" +%Y%m%d)
DAYOFWEEK=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%a)
echo ${DAYOFWEEK} | egrep -q "(Wed|Sat)"
EXIT=$?
while [ "$EXIT" != "0" ]; do
i=$(expr $i + 1)
NEXT_DATE=$(date -j -v +1d -f "%Y%m%d" "${NEXT_DATE}" +%Y%m%d)
DAYOFWEEK=$(date -j -f "%Y%m%d" "${NEXT_DATE}" +%a)
echo ${DAYOFWEEK} | egrep -q "(Wed|Sat)"
EXIT=$?
done
clear
# echo "${NEXT_DATE} ${DAYOFWEEK}"
hl ${NEXT_DATE}
done
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
pb-loop