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