forked from HPR/hpr-tools
		
	Moved project directories and files to an empty local repo
This commit is contained in:
		
							
								
								
									
										114
									
								
								Show_Submission/do_edit_shownotes
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										114
									
								
								Show_Submission/do_edit_shownotes
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,114 @@ | ||||
| #!/bin/bash - | ||||
| #=============================================================================== | ||||
| # | ||||
| #         FILE: do_edit_shownotes | ||||
| # | ||||
| #        USAGE: ./do_edit_shownotes <field> <epno> | ||||
| # | ||||
| #  DESCRIPTION: Edit one of the fields often needing work in | ||||
| #               shownotes.{json,txt}, writing the updates back to the HPR | ||||
| #               server in case they are needed there. | ||||
| # | ||||
| #               ** Under development, not properly tested ** | ||||
| # | ||||
| #      OPTIONS: --- | ||||
| # REQUIREMENTS: --- | ||||
| #         BUGS: --- | ||||
| #        NOTES: 2022-12-20: The shownotes.txt file is now obsolete | ||||
| #       AUTHOR: Dave Morriss (djm), Dave.Morriss@gmail.com | ||||
| #      VERSION: 0.0.3 | ||||
| #      CREATED: 2022-12-09 21:52:29 | ||||
| #     REVISION: 2023-07-29 18:26:04 | ||||
| # | ||||
| #=============================================================================== | ||||
|  | ||||
| set -o nounset                              # Treat unset variables as an error | ||||
|  | ||||
| SCRIPT=${0##*/} | ||||
| # DIR=${0%/*} | ||||
|  | ||||
| VERSION="0.0.3" | ||||
|  | ||||
| if [[ $# -ne 2 ]]; then | ||||
|     echo "[${SCRIPT} ${VERSION}]: Usage: $SCRIPT field shownumber" | ||||
|     exit | ||||
| fi | ||||
|  | ||||
| # | ||||
| # Collect arguments and validate them | ||||
| # | ||||
| field="${1,,}" | ||||
| showno="$2" | ||||
|  | ||||
| field="${field// /}" | ||||
| showno="${showno// /}" | ||||
|  | ||||
| if ! [[ $field =~ ^(tags|title|summary) ]]; then | ||||
|     echo "Invalid field: $field" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| if ! [[ $showno =~ ^[0-9]+$ ]]; then | ||||
|     echo "Invalid show number: $showno" | ||||
|     exit 1 | ||||
| fi | ||||
|  | ||||
| # | ||||
| # Constants, paths and files | ||||
| # | ||||
| BASENAME="$HOME/HPR/Show_Submission" | ||||
| SHOWDIR="$BASENAME/shownotes/hpr${showno}" | ||||
| # SHOWNOTES="$SHOWDIR/shownotes.txt" | ||||
| # SNORIG="$SHOWDIR/shownotes.txt.orig" | ||||
| JSONNOTES="$SHOWDIR/shownotes.json" | ||||
| JSONORIG="$SHOWDIR/shownotes.json.orig" | ||||
| ORIGIN="$SHOWDIR/.origin" | ||||
| EDITSN="$BASENAME/edit_shownotes" | ||||
| STATUSFILE="$SHOWDIR/.status" | ||||
| DEST="hpr@hackerpublicradio.org:upload" | ||||
| SSHPORT=22 | ||||
|  | ||||
| # | ||||
| # Collect the place to write results and the current MD5 sum of the JSON file | ||||
| # | ||||
| upload_dir=$(cat "$ORIGIN") | ||||
| MD5_1=$(md5sum "$JSONNOTES") | ||||
|  | ||||
| # | ||||
| # Run the editing program | ||||
| # | ||||
| echo "Editing $field for show $showno" | ||||
| $EDITSN -field="$field" -episode="$showno" | ||||
| RES=$? | ||||
|  | ||||
| # | ||||
| # Normal exit (0) means something was done. Anything else either means the | ||||
| # program aborted in a controlled way or there was an error. | ||||
| # | ||||
| if [[ $RES -eq 0 ]]; then | ||||
|     echo "Edited show notes ok" | ||||
|  | ||||
|     MD5_2=$(md5sum "$JSONNOTES") | ||||
|     if [[ $MD5_1 = "$MD5_2" ]]; then | ||||
|         echo "The files were not changed" | ||||
|         exit | ||||
|     else | ||||
|         echo "Copying $JSONNOTES to upload/$upload_dir/shownotes.json on the HPR server" | ||||
|         echo "Copying $JSONORIG to upload/$upload_dir/shownotes.json.orig on the HPR server" | ||||
| #         scp -P 22074 "$JSONNOTES" "$JSONORIG" "hpr@hackerpublicradio.org:upload/$upload_dir/" | ||||
|         scp -P $SSHPORT "$JSONNOTES" "$JSONORIG" "$DEST/$upload_dir/" | ||||
|  | ||||
|         # | ||||
|         # Update the status file | ||||
|         # | ||||
|         echo "metadata" >> "$STATUSFILE" || \ | ||||
|             { echo "Failed to update $STATUSFILE"; exit 1; } | ||||
|     fi | ||||
| else | ||||
|     echo "Editing script ended prematurely" | ||||
| fi | ||||
|  | ||||
| exit | ||||
|  | ||||
| # vim: syntax=sh:ts=8:sw=4:ai:et:tw=78:fo=tcrqn21 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user