#!/bin/bash # status of the Swift Observatory for NDAYS starting YYYY-MM-DD # # dsSwift -d NDAYS {-a} {-h} [YYYY-MM-DD] # default for YYYY-MM-DD is today # default for NDAYS is 1 # -a .. "as flow timeline" [default is "pre-planned timeline"] # # LAST REVISION: 25-January-2020 #----------------------------------------------------------------------- HELP=; NDAYS=1; PLANCHOICE=0; NMAX=30; #----------------------------------------------------------------------- URL="https://www.swift.psu.edu/operations/obsSchedule.php?" #----------------------------------------------------------------------- TF="OUT_dsSwift" TFh=$TF.html TFt=$TF.txt TFp=$TF.txtp trap "[ -e $TFh ] && rm $TFh $TFt $TFp" EXIT #----------------------------------------------------------------------- while getopts d:ah OPTVAL do case $OPTVAL in h) HELP=1;; d) NDAYS=$OPTARG;; a) PLANCHOICE=1;; *) echo "dsSwift -h for help"; exit -1;; esac done shift $((OPTIND-1)) if [ $HELP ]; then echo " dsSwift [-d NDAYS] {-a} {-h} YYYY-MM-DD" echo " Swift Observatory schedule for NDAYS starting YYYY-MM-DD" echo " MM is 01..12, DD is 01..31; default: TODAY" echo " -d default is NDAYS=1" echo ' -a .. "as flow timeline", default is "planned timeline"' exit fi [ $# -gt 2 ] && { echo "dsSwift: too many parameters"; exit -1; } #----------------------------------------------------------------------- if [ $# -eq 0 ]; then M=$(date "+%m"); Y=$(date "+%Y"); D=$(date "+%d") DATE=$(echo $Y-$M-$D) else DATE=$1 fi echo $DATE | grep -q "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]" | [ $? -ne 0 ] && { echo "dsSwift: incorrect data format"; exit -1; } [ $NDAYS -gt $NMAX ] && { echo "dsSwift: that many days! really?"; exit -1; } #----------------------------------------------------------------------- DAYS=$(seq $NDAYS) for d in $DAYS; do d=$((d-1)) date=$(gdate -d "$DATE +$d days" '+%Y-%m-%d') #note used GNU date curl -s -o $TFh $URL"d=$date&a=$PLANCHOICE" #get banner line banner=$(sed -n 's;\(.*