diff --git a/generate-all-badges-from-member-list.sh b/generate-all-badges-from-member-list.sh new file mode 100755 index 0000000..d19f07c --- /dev/null +++ b/generate-all-badges-from-member-list.sh @@ -0,0 +1,41 @@ +#!/bin/bash +set -e + +spreadsheet="$1" + +normalize_name () { + echo $* | sed -e 's/[^ -]\+/\L\u&/g' -e 's/ De / de /g' +} + +viewjpeg="$(ls /usr/share/ghostscript/*/lib/viewjpeg.ps | tail -1)" +convert_jpeg_to_pdf () { + declare -a jpeg_stanza + while [ $# -gt 1 ]; do + jpeg_stanza+=( "($1) viewJPEG showpage" ) + shift + done + gs \ + -dNOSAFER \ + -sDEVICE=pdfwrite \ + -o "$1" \ + -g1051x678 \ + $viewjpeg \ + -c "${jpeg_stanza[*]}" +} + +mkdir -p badges + +while read line; do + eval member=( $line ) + if [ "${member[0]}" = "Clef AXIOM" ]; then + break + fi + number="${member[0]}" + lastname="$(normalize_name "${member[1]}")" + firstname="$(normalize_name "${member[2]}")" + nickname="${member[3]}" + key="${member[4]}" + + ./create-badge.sh "$number" "$lastname $firstname" "$nickname" "$key" + convert_jpeg_to_pdf recto-out.jpeg verso-out.jpeg badges/"${number//\//_}.pdf" +done < <(xlsx2csv -q all -d ' ' "$spreadsheet" | tail +3)