Initial commit
This commit is contained in:
commit
a437c068c8
64 changed files with 561683 additions and 0 deletions
76
scripts/convert_multiple.sh
Normal file
76
scripts/convert_multiple.sh
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
#!/usr/bin/env bash
|
||||
set -uo pipefail
|
||||
|
||||
######################################
|
||||
# Config
|
||||
######################################
|
||||
LOG_FILE="convert_$(date +%Y-%m-%d_%H-%M-%S).log"
|
||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
FILES_LIST="$SCRIPT_DIR/convert_files.txt"
|
||||
|
||||
[[ -f $FILES_LIST ]] || { echo "Missing file: $FILES_LIST"; exit 1; }
|
||||
|
||||
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||
[[ -z "$line" || "$line" =~ ^[[:space:]]*# ]] && continue
|
||||
FILES+=("$line")
|
||||
done < "$FILES_LIST"
|
||||
|
||||
[[ ${#FILES[@]} -eq 0 ]] && {
|
||||
echo "No files to process."
|
||||
exit 1
|
||||
}
|
||||
|
||||
######################################
|
||||
# Logging helper
|
||||
######################################
|
||||
log() {
|
||||
echo "[$(date '+%F %T')] $*"
|
||||
}
|
||||
|
||||
######################################
|
||||
# Start
|
||||
######################################
|
||||
echo "Conversion started: $(date)" | tee -a "$LOG_FILE"
|
||||
echo "Log: $LOG_FILE" | tee -a "$LOG_FILE"
|
||||
echo | tee -a "$LOG_FILE"
|
||||
|
||||
FAILED=()
|
||||
SUCCESS=()
|
||||
|
||||
for file in "${FILES[@]}"; do
|
||||
START=$(date +%s)
|
||||
log "Start: $file" | tee -a "$LOG_FILE"
|
||||
|
||||
if "$SCRIPT_DIR/convert.sh" \
|
||||
--input "$file" \
|
||||
--compression true \
|
||||
--compression-level 3 \
|
||||
--binary true \
|
||||
--force false \
|
||||
2>&1 | tee -a "$LOG_FILE"
|
||||
then
|
||||
log "OK: $file" | tee -a "$LOG_FILE"
|
||||
SUCCESS+=("$file")
|
||||
else
|
||||
log "FAIL: $file" | tee -a "$LOG_FILE"
|
||||
FAILED+=("$file")
|
||||
fi
|
||||
END=$(date +%s)
|
||||
log "$((END-START))s"
|
||||
|
||||
echo | tee -a "$LOG_FILE"
|
||||
done
|
||||
|
||||
######################################
|
||||
# Summary
|
||||
######################################
|
||||
echo "================ SUMMARY ================" | tee -a "$LOG_FILE"
|
||||
log "Success: ${#SUCCESS[@]}" | tee -a "$LOG_FILE"
|
||||
log "Errors: ${#FAILED[@]}" | tee -a "$LOG_FILE"
|
||||
|
||||
if (( ${#FAILED[@]} )); then
|
||||
echo "Failed files:" | tee -a "$LOG_FILE"
|
||||
printf ' - %s\n' "${FAILED[@]}" | tee -a "$LOG_FILE"
|
||||
fi
|
||||
|
||||
echo "End: $(date)" | tee -a "$LOG_FILE"
|
||||
Loading…
Add table
Add a link
Reference in a new issue