Files
lorchess/schedule
T

49 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
repo=fat0troll/lorchess
tournament=autumn2013
# Variables
digit='[[:digit:]]\+'
# Colors
cyan='\\033[01;36m'
red='\\033[01;31m'
restore='\\033[00m'
# Note that we use `"$@"' to let each command-line parameter expand to a
# separate word. The quotes around `$@' are essential!
# We need ARGS as the `eval set --' would nuke the return value of getopt.
args=$(getopt --options p: --longoptions player: -- "$@")
# Note the quotes around `$ARGS': they are essential!
eval set -- "$args"
if [[ $1 == -p || $1 == --player ]]; then
name=$2
shift 2
fi
shift
for tour in $@; do
# Change tour numbers: `1' -> `01', `2' -> `02', and so on
tour=0"$tour"
tour=${tour:(-2)}
url=https://raw.github.com/$repo/master/$tournament/tour_$tour/tour_info
echo ">>>"
curl -q --silent -w '\n' $url | while read line; do
if [[ -z $line ]]; then
echo
elif [[ -z $name || $(egrep "Тур|=|Время|$name" <<< "$line") ]]; then
# Colorize output
line=$(sed "s/${digit}/${cyan}\0${restore}/g" <<< "$line")
[[ -n $name ]] && line=$(sed "s/${name}/${red}\0${restore}/g" <<< "$line")
echo -e $line
fi
done
done
exit 0