54 lines
1.6 KiB
Awk
54 lines
1.6 KiB
Awk
#
|
|
# 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
|