Difference between revisions of "T1042 CLI Script"
Chris Tyler (talk | contribs) |
Chris Tyler (talk | contribs) |
||
Line 11: | Line 11: | ||
function show_day() { | function show_day() { | ||
− | + | cat $TEMPFILE| | |
− | + | egrep "</?td|</?tr"|tr -d "\012"| | |
− | + | sed "s|</tr><tr>|</tr>\n<tr>|g"| | |
− | + | sed -n "s|<tr><td>$(date +%Y-%m-%d -d "$*") \([0-2][0-9]:[0-5][0-9]-[0-2][0-9]:[0-5][0-9]\)</td><td>\([^<]\+\)</td>.*$| \1 \2|p"| | |
− | + | sort | |
} | } | ||
+ | |||
+ | if grep -qi t1042 <<<$0 | ||
+ | then | ||
+ | ROOMNAME="T1042" # traditional name | ||
+ | else | ||
+ | ROOMNAME="DB1042" # new name | ||
+ | fi | ||
TEMPFILE=$(mktemp) | TEMPFILE=$(mktemp) | ||
Line 25: | Line 32: | ||
if [ "$1" == "-w" ] | if [ "$1" == "-w" ] | ||
then | then | ||
− | + | shift | |
− | + | echo "${ROOMNAME} schedule for the week of $(date -d "$*" +%Y-%m-%d):" | |
− | + | for X in {0..6} | |
− | + | do | |
− | + | echo | |
− | + | date -d "$(( X - $(date +%w) )) day" +" %A:" | |
− | + | show_day "$(date -d "$(date -d "$*") + $(( X - $(date +%w) )) day")" | |
− | + | done | |
else | else | ||
− | + | echo "${ROOMNAME} schedule for $(date +%Y-%m-%d -d "$*"):" | |
− | + | show_day "$@" | |
fi | fi | ||
echo | echo | ||
rm $TEMPFILE | rm $TEMPFILE | ||
− | |||
To use this script, run it with no arguments for the current day, or specify a day: | To use this script, run it with no arguments for the current day, or specify a day: |
Revision as of 15:17, 1 February 2018
This is a bash script to display the t1042 bookings for a given day:
#!/bin/bash # # Script to display bookings in T1042. # Give a datespec on the command line, or no args for today. # # CTyler 2015-05-13, updated after wiki move 2016-08-05 # updated with -w argument (week) 2017-01-30 # function show_day() { cat $TEMPFILE| egrep "</?td|</?tr"|tr -d "\012"| sed "s|</tr><tr>|</tr>\n<tr>|g"| sed -n "s|<tr><td>$(date +%Y-%m-%d -d "$*") \([0-2][0-9]:[0-5][0-9]-[0-2][0-9]:[0-5][0-9]\)</td><td>\([^<]\+\)</td>.*$| \1 \2|p"| sort } if grep -qi t1042 <<<$0 then ROOMNAME="T1042" # traditional name else ROOMNAME="DB1042" # new name fi TEMPFILE=$(mktemp) curl https://wiki.cdot.senecacollege.ca/wiki/Meeting_Room_T1042 2>/dev/null >$TEMPFILE echo if [ "$1" == "-w" ] then shift echo "${ROOMNAME} schedule for the week of $(date -d "$*" +%Y-%m-%d):" for X in {0..6} do echo date -d "$(( X - $(date +%w) )) day" +" %A:" show_day "$(date -d "$(date -d "$*") + $(( X - $(date +%w) )) day")" done else echo "${ROOMNAME} schedule for $(date +%Y-%m-%d -d "$*"):" show_day "$@" fi echo rm $TEMPFILE
To use this script, run it with no arguments for the current day, or specify a day:
t1042 t1042 tomorrow t1042 yesterday t1042 next friday t1042 next week friday t1042 last tuesday t1042 may 15 t1042 2020-02-01 t1042 june 7, 2025
You can also specify a -w
argument to see a week at a time:
t1042 -w t1042 -w next week t1042 -w may 1
The data displayed is taken from the Meeting Room T1042 page on this wiki, and the date and times must be formatted correctly (YYYY-MM-DD HH:MM-HH:MM) to display.