feat(user/):Add wrapper for mw_create_summary_months.sh
[BK-2020-03.git] / user / mw_create_summary_months_range.sh
1 #!/usr/bin/env bash
2 # Desc: Wrapper for creating yearly journal summary page generation script
3 # Input: arg1: path mw_create_summary_months.sh
4 # arg2: year start
5 # arg3: year end
6 # Example: mw_create_summary_months_range.sh ./mw_create_summary_months.sh 2030 2040
7 # Depends: BK-2020-03: mw_create_summary_months.sh
8 # Version: 0.0.1
9
10 # plumbing
11 path_gen="$1"; # eg "$HOME/scripts/mw_create_year_journal.sh"
12 year_start="$2"; # eg 2030
13 year_end="$3"; # eg 2040
14 dir_out="./wikicode/";
15
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
19 check_depends() {
20 # check location of `mw_create_year_journal.sh`
21 if [[ ! -f "$path_gen" ]]; then die "FATAL:Not found:$path_gen"; fi;
22 };
23 check_plumbing() {
24 if [[ ! -d "$dir_out" ]]; then
25 yell "STATUS:Creating missing dir_out:$dir_out";
26 mkdir -p "$dir_out"; fi;
27 };
28 main() {
29 check_depends;
30 check_plumbing;
31
32 while read -r year; do
33 gen_args+=("$year");
34
35 # Define output file path
36 path_out="$dir_out"/"$(printf "Summary_of_months_of_%d" "$year")";
37
38 # Execute
39 "$path_gen" "${gen_args[@]}" > "$path_out";
40
41 unset gen_args;
42 done < <(seq "$year_start" "$year_end"); # each year
43 }; # main program
44
45 main "$@";
46
47 # Author: Steven Baltakatei Sandoval
48 # License: GPLv3+