Files
spl-tools/get-generic.sh
2025-04-19 15:47:49 +10:00

68 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
#rclone sync --progress bikewest:spl_generic_survey_2024 $DATA_LOC/google-data
GENERIC_SURVEY=../generic-survey/responses.csv
IMAGES=../generic-survey/images
DATA_PATH="../spl-data/federal_2025"
echo "Fetching latest responses to generic survey."
rm -f $GENERIC_SURVEY # Force re-fetch
rclone -v copyto --drive-export-formats csv 'bikewest:spl_generic_survey_federal_2025/Streets People Love Federal Election candidate pledge (Responses).csv' $GENERIC_SURVEY
config_files=()
for folder in "$DATA_PATH"/*; do
if test -f "$folder"/config.json; then
config_files+=("$folder"/config.json)
fi
done
image_map=$(php csv-generic/gen-image-map.php --generic-csv $GENERIC_SURVEY --config-files "${config_files[*]}")
img_list=()
for key in $(jq -r 'keys[]' <<< $image_map) ; do
if [ -f $IMAGES/$key ] ; then
continue
fi
img_list+=($key)
img_list+=($IMAGES/$key)
done
if [ ${#img_list[*]} -gt 0 ] ; then
echo "Downloading $((${#img_list[*]}/2)) image(s)..."
rclone -v backend copyid bikewest: ${img_list[*]}
fi
for key in $(jq -r 'keys[]' <<< $image_map) ; do
format=$(identify $IMAGES/$key | awk '{print $2}')
case $format in
PNG ) suffix=.png ;;
JPEG ) suffix=.jpg ;;
HEIC ) suffix=.jpg ;;
WEBP ) suffix=.png ;;
*)
echo "Error: Unknown image format: $IMAGES/$key"
;;
esac
lga=$(jq -r ".[\"$key\"][\"match_division\"]" <<< $image_map)
if [ ! -d $"$DATA_PATH/$lga" ] ; then
continue
fi
dst="$DATA_PATH/$lga/$key$suffix"
if [ -f $dst ] ; then
continue
fi
echo "Resizing $dst"
magick $IMAGES/$key -resize 400x400 $dst
done
echo "Generating candidates-generic.csv files."
php csv-generic/gen-generic.php --generic-csv $GENERIC_SURVEY --config-files "${config_files[*]}"