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 |