Files
2026-06-15 14:38:47 +02:00

59 lines
1.7 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)"
raw_data_dir="${PARTY2D_RAW_DATA_DIR:-$repo_root/_local/raw}"
report_dir="${PARTY2D_REPORT_DIR:-$repo_root/_local/reports}"
mkdir -p "$report_dir"
missing_report="$report_dir/raw_data_preflight_missing.txt"
: > "$missing_report"
required_files=(
"manifesto/MPDataset_MPDS2025a.csv"
"poldem/poldem-election_all.csv"
"partyfacts/partyfacts-external-parties.csv"
"ches/1999-2019_CHES_dataset_means(v3).csv"
"ches/CHES_2024_final_v2.csv"
"ches/CHES_2024_expert_level.csv"
"ches/CHES_CA2023.csv"
"ches/CHES_CA2023_expert_level.csv"
"ches/ches_la_2020_aggregate_level_v01.csv"
"ches/CHES_LA2020_expert_level.csv"
"ches/CHES_ISRAEL_means_2021_2022.csv"
"ches/CHES_IL_expert_level.csv"
"vparty/V-Dem-CPD-Party-V2.rds"
"poppa/poppa_integrated_v2.rds"
"gps/Global Party Survey by Party SPSS V2_1_Apr_2020-2.tab"
"morgan/morgan_positions_raw.csv"
)
echo "Raw data directory: $raw_data_dir"
echo
echo "Required raw inputs for regeneration:"
missing=0
for rel in "${required_files[@]}"; do
path="$raw_data_dir/$rel"
if [ -s "$path" ]; then
bytes="$(wc -c < "$path")"
read -r sha _ < <(sha256sum "$path")
echo " OK $rel ($bytes bytes, sha256=$sha)"
else
echo " MISSING $rel"
printf '%s\n' "$rel" >> "$missing_report"
missing=1
fi
done
if [ "$missing" -ne 0 ]; then
echo
echo "At least one required raw input is missing." >&2
echo "Missing-file report: $missing_report" >&2
echo "See data-setup/README.md and docs/RAW_DATA_SOURCES.md for instructions." >&2
exit 1
fi
echo
echo "Required raw data preflight passed."
rm -f "$missing_report"