Merge branch 'master' of https://github.com/fat0troll/lorchess
This commit is contained in:
commit
a3c40a2382
@ -7,5 +7,6 @@
|
|||||||
* расписание туров чемпионата;
|
* расписание туров чемпионата;
|
||||||
* турнирная таблица;
|
* турнирная таблица;
|
||||||
* все партии, сыгранные в рамках чемпионата, в формате PGN.
|
* все партии, сыгранные в рамках чемпионата, в формате 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