56 lines
1.2 KiB
Bash
Executable File
56 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env nix-shell
|
|
#!nix-shell -i bash -p coreutils curl gitMinimal gzip gnugrep gnused iconv
|
|
|
|
set -euo pipefail
|
|
set -x
|
|
|
|
RADK_URL='http://ftp.edrdg.org/pub/Nihongo/radkfile.gz'
|
|
KRAD_URL='http://ftp.edrdg.org/pub/Nihongo/kradfile.gz'
|
|
TMP="$(mktemp -d)"
|
|
|
|
PROJECT_ROOT="$(git rev-parse --show-toplevel)"
|
|
DATA_DIR="$PROJECT_ROOT/radkfile"
|
|
|
|
function cleanup {
|
|
rm -rf "$TMP"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
curl -L -o "$TMP/radkfile.gz" "$RADK_URL"
|
|
gzip -dkc "$TMP/radkfile.gz" > "$TMP/radkfile"
|
|
iconv -f EUC-JP -t UTF-8 -o "$DATA_DIR/radkfile" "$TMP/radkfile"
|
|
|
|
curl -L -o "$TMP/kradfile.gz" "$KRAD_URL"
|
|
gzip -dkc "$TMP/kradfile.gz" > "$TMP/kradfile"
|
|
iconv -f EUC-JP -t UTF-8 -o "$DATA_DIR/kradfile" "$TMP/kradfile"
|
|
|
|
# Retrieve the latest line from the changelog
|
|
|
|
declare -A MONTH_MAP=(
|
|
[Jan]="01"
|
|
[Feb]="02"
|
|
[Mar]="03"
|
|
[Apr]="04"
|
|
[May]="05"
|
|
[Jun]="06"
|
|
[Jul]="07"
|
|
[Aug]="08"
|
|
[Sep]="09"
|
|
[Oct]="10"
|
|
[Nov]="11"
|
|
[Dec]="12"
|
|
)
|
|
|
|
sed -n "$DATA_DIR/kradfile" -e '/^#\+ CHANGES (some of them) #\+/,/^#\{10,\}/p' \
|
|
| sed '1d;$d' \
|
|
| sed 's/^# //' \
|
|
| sed '/^[^A-Z]/d' \
|
|
| cut -d' ' -f1-2 \
|
|
| tail -n 1 \
|
|
| while read -r MONTH YEAR; do
|
|
echo "$YEAR-${MONTH_MAP[$MONTH]}"
|
|
done \
|
|
> "$DATA_DIR/version.txt"
|
|
|
|
cleanup
|