#!/bin/bash

# Changing directory
echo "${0%/*}"
cd "${0%/*}"

WRITE=0
OVERWRITE=0
INSERT=0
for i in "$@"
do
case $i in
    (-w|--write)
     WRITE=1
     echo "WRITE option set"
     ;;
    (-o|--overwrite)
     OVERWRITE=1
     echo "OVERWRITE option set"
     ;;
    (-i|--insert)
     INSERT=1
     echo "Data will be inserted"
     ;;
    (*)
     # unknown option
     ;;
esac
done

# Import batches into database
#
ts=$(date "+%Y-%m-%dT%H:%M:%S%z")
source=$(uname -n)

for var in "$@"
do
if [[ $var =~ [A-Za-z0-9_]+.xml$ ]] 
  then
    t1=$(date +%s.%N)
    if [ $INSERT -eq 1 ]
      then
        printf "Importing task $var... "
        # Hexadecimal representation of the batch
        cat $var | xxd -pu | tr -d \\n | tr '[:lower:]' '[:upper:]' > batch.hex

        sha=$(shasum -a 1 $var | awk '{ print $1 }' | tr '[:lower:]' '[:upper:]')
        sql="
        INSERT INTO tracking_import_batches (uuid, created_on, batch_hash, source, raw_data) 
        VALUES (UUID(), NOW(), '$sha', '$(uname -n)', x'$(cat batch.hex)')
        ON DUPLICATE KEY UPDATE updated_on=NOW();
        CALL tracking_import_xml_batch('$sha', $OVERWRITE, $WRITE);"
        mysql -u F5VksfQsYW -pmWaq9FiGC6 -h 192.168.10.10 dfnesa --raw --execute="$sql"
        echo $?
    fi
    t2=$(date +%s.%N)
    printf "done (%1.5f s)." $(echo "$t2 - $t1" | bc)
fi
done

# Cleanup
rm -f batch.hex
