Merge branch 'master' of https://github.com/fat0troll/lorchess
This commit is contained in:
commit
a3c40a2382
@ -7,5 +7,6 @@
|
||||
* расписание туров чемпионата;
|
||||
* турнирная таблица;
|
||||
* все партии, сыгранные в рамках чемпионата, в формате PGN.
|
||||
* скрипт `schedule` для игроков, позволяет легко и быстро узнать расписание тура и имя очередного соперника. Подробности в файле `schedule.md`.
|
||||
|
||||
Структура репо интуитивно понятна и, надеюсь, не нуждается в объяснении.
|
||||
|
46
schedule
Executable file
46
schedule
Executable file
@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
repo=fat0troll/lorchess
|
||||
tournament=autumn2013
|
||||
|
||||
# Variables
|
||||
score='\(0\|1\|0\.5\):\(0\|1\|0\.5\)'
|
||||
|
||||
# Colors
|
||||
green='\\033[01;32m'
|
||||
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 $url | while read line;do
|
||||
if [[ -z $line ]];then
|
||||
echo
|
||||
elif [[ -z $name || `echo "$line" | egrep "Тур|=|Время|$name"` ]];then
|
||||
# Colorize output
|
||||
line=$(echo "$line" | sed "s/${score}/${green}\0${restore}/g")
|
||||
[[ -n $name ]] && line=$(echo "$line" | sed "s/${name}/${red}\0${restore}/g")
|
||||
echo -e $line
|
||||
fi
|
||||
done
|
||||
done
|
20
schedule.md
Normal file
20
schedule.md
Normal file
@ -0,0 +1,20 @@
|
||||
Получение расписания туров
|
||||
========
|
||||
|
||||
Скрипт `schedule` — это Ъ-bash скрипт для Ъ-линуксоидов, которые не ходят по ссылкам, а желают иметь лёгкий и быстрый доступ к расписанию турниров «LOR Chess» на [ЛОРе](http://www.linux.org.ru/). Работает на любом линуксе, достаточно поместить в директорию из `$PATH` (например, `/usr/local/bin/`) и разрешить права на исполнение.
|
||||
|
||||
Узнайте расписание тура под номером `N`
|
||||
~~~sh
|
||||
$ schedule N
|
||||
~~~
|
||||
или, указав свой лоровский псевдоним, имя соперника в туре
|
||||
~~~sh
|
||||
$ schedule --player VasyaPupkin N
|
||||
~~~
|
||||
У аргумента `--player` есть короткий аналог `-p`. Используйте перечисление туров через пробел для вывода информации по ним
|
||||
~~~sh
|
||||
$ schedule -p MashaPetrova 1 3
|
||||
~~~
|
||||
Вывод соответствует порядку перечисления туров.
|
||||
|
||||
Дополнительные возможности в процессе добавления. **Stay tuned!**
|
31
schedule.sh
31
schedule.sh
@ -1,31 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
mynick=iVS
|
||||
repo=fat0troll/lorchess
|
||||
tournament=autumn2013
|
||||
|
||||
# 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 n: --longoptions nick: -- "$@"`
|
||||
|
||||
# Note the quotes around `$ARGS': they are essential!
|
||||
eval set -- "$args"
|
||||
|
||||
if [[ $1 == -n ]] || [[ $1 == --nick ]]; then
|
||||
name=$2
|
||||
shift 3
|
||||
else
|
||||
name=$mynick
|
||||
shift
|
||||
fi
|
||||
|
||||
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
|
||||
curl -q --silent $url | egrep "Тур|Время|$name"
|
||||
echo " ***"
|
||||
done
|
Loading…
Reference in New Issue
Block a user