#!/bin/bash
DIR=/home/phil
HERE=$DIR/TaffB
MQTT_CONTROL=$HERE/data_last_loaded_2_mqtt
DATAFILE=$HERE/data.txt
NEWRECS=$(mktemp)
FILE2=$(mktemp)

##Setup a string we can use in the grep, note we change whitespace to ".*"
#STRING=$(cat ${MQTT_CONTROL} | sed 's/ /.*/g') 
STRING=$(cat ${MQTT_CONTROL})

grep -A200 $STRING $DATAFILE | sed '1d' > $NEWRECS
   if [ -s $NEWRECS ]
   then
      echo "Records for $i of which there are $(wc -l < $NEWRECS)"
      QUALITY_CONFIG=$HERE/quality_checks/config.json
      if [ -s $QUALITY_CONFIG ]
      then
#DEBUG echo "Starting quality checks"
         NUMFIELDS=$(jq '.NumFields' $QUALITY_CONFIG)
         jq '. | length' $NEWRECS | sort -u > $FILE2
#DEBUG echo "Number of unique records n FILE2 is: $(wc -l $FILE2)"
         if [ $(wc -l < $FILE2) = "1" ]
         then
            if [ $NUMFIELDS != $(cat $FILE2) ]
            then
               echo "failure in quality checks"
	       exit 2
            else
                    echo "Quality OK" > /dev/null
            fi
         fi
      fi          
      while read line
      do
         $HERE/mqttcli_linux_amd64 pub --host hydromatch.co.uk -i "HM-TBapp" -t "HM/TB" -m $line
	 echo "posting $line"
	 echo $line > $MQTT_CONTROL
      done < $NEWRECS
   fi



rm $NEWRECS
rm $FILE2
