diff --git a/csv-generic/csv-to-json.php b/csv-generic/csv-to-json.php new file mode 100644 index 0000000..9bef38b --- /dev/null +++ b/csv-generic/csv-to-json.php @@ -0,0 +1,20 @@ + 70) $score_sum += $score; + else $score_sum -= 10; + } + } + + if ($score_sum > $max_score) { + $max_score = $score_sum; + $match_lga = $lga; + } + } + + $max_score = 0; + foreach ($match_lga['wardNames'] as $ward) { + similar_text($ward, $candidate['Ward'], $score); + if ($score > $max_score) { + $max_score = $score; + $match_ward = $ward; + } + } + + $candidate['match_lga'] = $match_lga['slug']; + $candidate['match_ward'] = $match_ward; +} + +/* Get picture */ +foreach ($candidate_data as &$candidate) { + $candidate['match_picture'] = ""; +} + +$header = ["Ward", "Candidate Name", "Rating", "Picture"]; + +/* Generate candidates-generic.csv */ +foreach ($lga_list as $lga) { + $lga_candidates = array_filter($candidate_data, function ($candidate) use ($lga) { + return $candidate['match_lga'] === $lga['slug']; + }); + + if (count($lga_candidates) === 0) continue; + + $output_file = dirname($lga['config-file'])."/candidates-generic.csv"; + + if (($handle = fopen($output_file, "w")) === FALSE) { + error_log('Error opening output file'); + exit(1); + } + + if (fputcsv($handle, $header) === FALSE) { + error_log('Error writing headers to output file'); + exit(3); + } + + foreach ($lga_candidates as $candidate) { + $fields = [ + $candidate['match_ward'], + $candidate['Name'], + $candidate['Score'], + $candidate['match_picture'], + ]; + + if (fputcsv($handle, $fields) === FALSE) { + error_log('Error writing candidate to output file'); + exit(3); + } + } +} exit(0); diff --git a/get-generic.sh b/get-generic.sh index 9f76f07..dd1060a 100755 --- a/get-generic.sh +++ b/get-generic.sh @@ -1,12 +1,20 @@ #!/bin/bash -DATA_LOC=../generic-survey - #rclone sync --progress bikewest:spl_generic_survey_2024 $DATA_LOC/google-data #rclone --drive-export-formats csv copyto 'bikewest:spl_generic_survey_2024/Streets People Love council election candidate pledge and survey (Responses).csv' $DATA_LOC/responses.csv +GENERIC_SURVEY=../generic-survey/responses.csv -#content=$(php pledge-update/pledge-page.php --candidates-files "${candidates_files[*]}") +DATA_PATH="../spl-data" -php csv-generic/gen-generic.php --generic-csv $DATA_LOC/responses.csv +config_files=() +for folder in "$DATA_PATH"/*; do + if test -f "$folder"/config.json; then + config_files+=("$folder"/config.json) + fi +done + +#php csv-generic/csv-to-json.php --generic-csv $DATA_LOC/responses.csv + +php csv-generic/gen-generic.php --generic-csv $GENERIC_SURVEY --config-files "${config_files[*]}"