2 # Desc: Wrapper for creating monthly journal page generation script
3 # Input: arg1: path mw_create_month_journal.sh
6 # Example: mw_create_month_journal_range.sh ./mw_create_month_journal.sh 2030 2040
7 # Depends: BK-2020-03: mw_create_month_journal.sh
11 path_cmj
="$1"; # eg "$HOME/scripts/mw_create_month_journal.sh"
12 year_start
="$2"; # eg 2030
13 year_end
="$3"; # eg 2040
14 dir_out
="./wikicode/";
16 yell
() { echo "$0: $*" >&2; } # print script path and all args to stderr
17 die
() { yell
"$*"; exit 111; } # same as yell() but non-zero exit status
18 must
() { "$@" || die
"cannot $*"; } # runs args as command, reports args if command fails
20 # check location of `mw_create_month_journal.sh`
21 if [[ ! -f "$path_cmj" ]]; then die
"FATAL:Not found:$path_cmj"; fi;
24 if [[ ! -d "$dir_out" ]]; then
25 yell
"STATUS:Creating missing dir_out:$dir_out";
26 mkdir
-p "$dir_out"; fi;
32 while read -r year
; do
33 while read -r month
; do
34 monthp
="$(printf "%2d
" "$month")";
35 # Define and execute create monthly journal command
39 # Define output file path
40 path_out
="$dir_out"/"$(printf "%d-
%02d
" "$year" "$month")";
43 "$path_cmj" "${cmj_args[@]}" > "$path_out";
46 done < <(seq 1 12); # each month
47 done < <(seq "$year_start" "$year_end"); # each year
52 # Author: Steven Baltakatei Sandoval