From b56988a0a62508fbc6be1a0cdb843cbc2640ec41 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sat, 26 Jun 2021 19:11:44 -0300 Subject: aux/workflow/TODOs.sh: Use getopts for arguments --- aux/workflow/TODOs.sh | 39 +++++++++++++++++++++++++++++++++++---- aux/workflow/public.sh | 2 +- 2 files changed, 36 insertions(+), 5 deletions(-) (limited to 'aux/workflow') diff --git a/aux/workflow/TODOs.sh b/aux/workflow/TODOs.sh index f93ece8..6a50886 100755 --- a/aux/workflow/TODOs.sh +++ b/aux/workflow/TODOs.sh @@ -1,11 +1,42 @@ #!/bin/sh set -eu -PROJECT_UC="$1" -PROJECT="$2" -MAILING_LIST="$3" -OUTDIR="$4" TLD="$(cat aux/tld.txt)" +while getopts 'n:N:m:o:' flag; do + case "$flag" in + n) + PROJECT="$OPTARG" + ;; + N) + PROJECT_UC="$OPTARG" + ;; + m) + MAILING_LIST="$OPTARG" + ;; + o) + OUTDIR="$OPTARG" + ;; + *) + exit 2 + ;; + esac +done +shift $((OPTIND - 1)) + +assert_arg() { + if [ -z "$1" ]; then + echo "Missing $2" >&2 + exit 2 + fi +} + +assert_arg "${PROJECT:-}" '-n PROJECT' +assert_arg "${MAILING_LIST:-}" '-m MAILING_LIST' +assert_arg "${OUTDIR:-}" '-o OUTDIR' + +if [ -z "${PROJECT_UC:-}" ]; then + PROJECT_UC="$PROJECT" +fi TODOS_ADD_REGEX='s/^## (TODO|DOING|WAITING|MEETING|INACTIVE|NEXT|CANCELLED|DONE) (.*) \{#(.*?)\}$/## \1<\/span> \2<\/a>\n
#\3<\/pre>\n/'
 TODOS_CLEANUP_REGEX1='s/(