#!/usr/bin/env bash

SCRIPT_SRC="$(realpath ${BASH_SOURCE[0]})"
SCRIPT_DIR="$(dirname "${SCRIPT_SRC}")"

source $SCRIPT_DIR/common.sh

if ! exiftool --help > /dev/null; then
	msg "exiftool is needed to run this script."
	exit 1
fi
if ! pngcrush -h 2> /dev/null; then
	msg "pngcrush is needed to run this script."
	exit 1
fi

if [ -z "$OUTPUT_DIRECTORY" ]; then
	if [ ! -z "$1" ]; then
		OUTPUT_DIRECTORY=$1
	else
		msg "No \$OUTPUT_DIRECTORY set or argument given."
		exit 1
	fi
fi

# Run pngcrush on all the png files.
msg "Crushing png images."
find $OUTPUT_DIRECTORY -name \*.png -print | parallel -v pngcrush -q -ow -rem alla \{\} \{\}.tmp ; RETCODE=$?
if [ "$RETCODE" -ne 0 ]; then
	msg "Error: Failed to crush png images!?"
	exit 1
else
	msg "Successfully crushed png images."
fi

msg "Adding metadata to module.png images."
find $OUTPUT_DIRECTORY -name \*.module.png -print | parallel --xargs -s 1000 $SCRIPT_DIR/exif-add.py ; RETCODE=$?
if [ "$RETCODE" -ne 0 ]; then
	msg "Error: Failed to add metadata to module.png files!?"
	exit 1
else
	msg "Successfully added metadata to module.png images."
fi

msg "Adding metadata to sch.png images."
find $OUTPUT_DIRECTORY -name \*.sch.png -print | parallel --xargs -s 1000 $SCRIPT_DIR/exif-add.py ; RETCODE=$?
RETCODE=$?
if [ "$RETCODE" -ne 0 ]; then
	msg "Error: Failed to add metadata to sch.png files!?"
	exit 1
else
	msg "Successfully added metadata to sch.png images."
fi

# Cleanup any temporary files which are left over.
find -name \*_original -delete
find -name \*_tmp -delete
