49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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
 |