From 153defb1bad7f11b84ca6d46b339e0890d0ccde0 Mon Sep 17 00:00:00 2001 From: vonavi Date: Wed, 21 May 2014 22:19:45 +0300 Subject: [PATCH] Script 'game-add': add usage and version outputs. --- game-add | 50 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/game-add b/game-add index 97202e0..c269be9 100755 --- a/game-add +++ b/game-add @@ -8,6 +8,35 @@ TOURNAMENT="2014/2-summertime" # Config file for players ply_ini="${REPODIR}/${TOURNAMENT}/players.ini" +# Version information +VERSION="0.1" + +argv0="${0##*/}" + +usage() { + cat < + $argv0 -h + $argv0 -v + +The first form fills the result of a chess game and stores its PGN +file. Assumes that the game is available at (lichess.org) and +corresponds to tournament tour . + +The second form shows this help output. The third form shows version +information. +EOF + + exit "${1:-0}" +} + +version() { + exec echo "${argv0}-${VERSION}" +} + game_get_players() { # Extract players on Lichess local w_lichess=$(sed -En "s/\[White \"([^\"]*)\"\]/\1/p" < "$tmp_pgn") @@ -124,30 +153,25 @@ die() { } checkargs() { - if [[ "$opt" == t && ! "$OPTARG" =~ ^[0-9]+$ ]]; then - echo "Incorrect tour number" 1>&2 - exit 1 + if [[ "$opt" == t && "$OPTARG" =~ ^[0-9]+$ ]]; then + TOUR=$(printf "%02g" "$OPTARG") fi } TOUR="" - while getopts "t:hv" opt; do case "$opt" in - t) checkargs - TOUR=$(printf "%02g" "$OPTARG") - ;; - h) usage && exit 0 - ;; - v) version && exit 0 - ;; + t) checkargs ;; + h) usage ;; + v) version ;; + *) usage 1 ;; esac done shift $(($OPTIND - 1)) - # For now, tour number should be given explicitly -[[ -z "$TOUR" ]] && die "Tour number not specified." +[[ -z "$TOUR" || -z "$1" ]] && usage 1 + tour_info="${REPODIR}/${TOURNAMENT}/tours/${TOUR}/tour_info" [[ ! -f "$tour_info" ]] && die "File ${tour_info} not found."