#!/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" if command -v magick >/dev/null 2>&1; then magick $IMAGES/$key -resize 400x400 $dst else convert $IMAGES/$key -resize 400x400 $dst fi done echo "Generating candidates-generic.csv files." php csv-generic/gen-generic.php --generic-csv $GENERIC_SURVEY --config-files "${config_files[*]}"