#!/usr/bin/env bash
start_timer() {
START_SECONDS=$(date +%s)
START_READABLE=$(date "+%Y-%m-%d %H:%M:%S")
}
end_timer() {
END_SECONDS=$(date +%s)
END_READABLE=$(date "+%Y-%m-%d %H:%M:%S")
ELAPSED_SECONDS=$((END_SECONDS - START_SECONDS))
ELAPSED_READABLE=$(printf "%02d:%02d:%02d" \
$((ELAPSED_SECONDS/3600)) \
$(( (ELAPSED_SECONDS%3600)/60 )) \
$((ELAPSED_SECONDS%60)))
}
push_log() {
PROCURL=$(basename $(echo $1))
echo "
\
| View | \
$2 | \
$START_READABLE | \
$END_READABLE | \
$ELAPSED_READABLE | \
" >> $CRON_LOG_INDEX
}
push_webhook() {
PROCURL=$(basename "$2")
WEBHOOK_URL="https://discord.com/api/webhooks/1472056322886209600/8EtHDzTdVYuaU2mn0-fY6BZZwxW4ZMkNnGzFyTCJhcS6FMHYagjxeyw0rw9o5S-TNRRA"
WEBHOOK_JSON=$(cat <> $CRON_LOG_SCRIPT
end_timer && push_log "$CRON_LOG_SCRIPT" "BACK UP SCRIPT"
start_timer
./SCRAPE_MEET.SH >> $CRON_LOG_MEET
end_timer && push_log "$CRON_LOG_MEET" "SCRAPE_MEET.SH" && push_webhook "SCRAPE_MEET.SH" "$CRON_LOG_MEET" "Done processing city meetings." "$START_READABLE" "$ELAPSED_READABLE"
#start_timer
#./SCRAPE_PLAN.SH >> $CRON_LOG_PLAN
#end_timer && push_log "$CRON_LOG_PLAN" "SCRAPE_PLAN.SH" && push_webhook "SCRAPE_PLAN.SH" #"$CRON_LOG_PLAN" "Done processing planning applications." "$START_READABLE" "$ELAPSED_READABLE"
start_timer
./SCRAPE_ESCRIBE.SH >> $CRON_LOG_JSON
end_timer && push_log "$CRON_LOG_JSON" "SCRAPE_JSON.SH" && push_webhook "SCRAPE_JSON.SH" "$CRON_LOG_JSON" "Done backing up eScribe meeting lists." "$START_READABLE" "$ELAPSED_READABLE"
start_timer
./SCRAPE_LTC.SH >> $CRON_LOG_LTC
end_timer && push_log "$CRON_LOG_LTC" "SCRAPE_LTC.SH" && push_webhook "SCRAPE_LTC.SH" "$CRON_LOG_LTC" "Done processing LTC meetings." "$START_READABLE" "$ELAPSED_READABLE"
start_timer
./SCRAPE_LPS.SH >> $CRON_LOG_LPS
end_timer && push_log "$CRON_LOG_LPS" "SCRAPE_LTC.SH" && push_webhook "SCRAPE_LPS.SH" "$CRON_LOG_LPS" "Done processing LPS meetings." "$START_READABLE" "$ELAPSED_READABLE"
start_timer
aws s3 sync ./LondonArchive "s3://public-file-browser-files-0261cd08327d/" --profile london --no-progress --size-only >> $CRON_LOG_S3
end_timer && push_log "$CRON_LOG_S3" "AWS S3 SYNC" && push_webhook "AWS S3 SYNC" "$CRON_LOG_S3" "Done syncing files to S3." "$START_READABLE" "$ELAPSED_READABLE"
rm -rf "./LondonArchive"
mkdir "./LondonArchive"
start_timer
# Make/upload sitemap AFTER clearing the work dir. Otherwise everything gets uploaded again.
./MAKE_SITEMAP.SH >> $CRON_LOG_SITEMAP
end_timer && push_log "$CRON_LOG_SITEMAP" "MAKE_SITEMAP.SH" && push_webhook "MAKE_SITEMAP.SH" "$CRON_LOG_SITEMAP" "Done updating archive sitemap, requested YaCy indexing." "$START_READABLE" "$ELAPSED_READABLE"
rm -rf "./LondonArchive"
END_SECONDS_ALL=$(date +%s)
ELAPSED_SECONDS_ALL=$((END_SECONDS_ALL - START_SECONDS_ALL))
ELAPSED_READABLE_ALL=$(printf "%02d:%02d:%02d" \
$((ELAPSED_SECONDS_ALL/3600)) \
$(( (ELAPSED_SECONDS_ALL%3600)/60 )) \
$((ELAPSED_SECONDS_ALL%60)))
push_webhook "Finished scrape job" "$CRON_LOG_INDEX" "Archive is now fully updated." "$START_READABLE_ALL" "$ELAPSED_READABLE_ALL"