#
# Needs to be called with a definition for variable 'csv', a file containing
# the current state of shows needing a summary and/or tags. Here we slurp the
# contents of this file into an array for the main loop to check against.
#
# Called in edit_tsu_blank thus:
#
# awk --assign "csv=$STATUSFILE" -f "$VALIDATOR" "$choice"
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Note: The chain of what does what when in this system is getting pretty
# complex, so perhaps this explanation is needed!
#
# The file denoted by $STATUSFILE above is tag_summary_actions.csv. This is
# generated by the Perl script report_missing_tags, so is only current after
# a run of this script. This is usually run though Pdmenu using Bash script
# generate_tag_reports, and this is normally done after new tags have been
# added to the system.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
BEGIN{
    FS=","
    while ((getline < csv) > 0) {
        pending[$1] = $0
    }
    close(csv)
    FS=" "
}

#
# Look for the show numbers and check whether they are known to be processed
#
/^show/{
    if (!($2 in pending)) {
        printf "Show %s is already up to date. Commented out\n",$2
        errors++

        #
        # A bit dirty, but run sed to comment out the faulty lines
        #
        cmd = "sed -i -e '/^show:\\s\\?" $2 "/,/^\\s*$/{s/^/#/}' " ARGV[1]
        system(cmd)
    }
}

#
# Exit showing the calling Bash script whether there are errors
#
END {
    exit errors > 0
}

# vim: syntax=awk:ts=8:sw=4:ai:et:tw=78:fo=tcrqn21
