Files
hpr_website/www/eps/hpr3413/hpr3413_show_queue_orig

79 lines
1.8 KiB
Plaintext
Raw Normal View History

2025-10-28 18:39:57 +01:00
#!/bin/bash -
#===============================================================================
#
# FILE: show_queue
#
# USAGE: ./show_queue
#
# DESCRIPTION: Show the pending queue, expanding each album's details from
# the 'all_albums' file
# / This is the version for the Magnatune XML catalog /
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Dave Morriss (djm), Dave.Morriss@gmail.com
# VERSION: 0.0.2
# CREATED: 2017-11-14 16:31:46
# REVISION: 2018-11-24 14:51:57
#
#===============================================================================
set -o nounset # Treat unset variables as an error
SCRIPT=${0##*/}
#DIR=${0%/*}
#
# Files and directories
#
BASEDIR="$HOME/MusicDownloads"
DATADIR="$BASEDIR/Magnatune_Data"
SCRIPTDIR="$BASEDIR/magnatune-downloader"
SUMMARY="$DATADIR/all_albums"
QUEUE="$SCRIPTDIR/pending"
#
# Sanity checks
#
[ -e "$QUEUE" ] || { echo "$QUEUE not found"; exit 1; }
[ -e "$SUMMARY" ] || { echo "$SUMMARY not found"; exit 1; }
#
# Check the queue contains data
#
if [[ ! -s $QUEUE ]]; then
echo "$SCRIPT: there is nothing in the queue"
exit
fi
RE='^http://magnatune.com/artists/albums/([A-Za-z0-9-]+)/?$'
#
# Read and report the queue elements
#
n=0
while read -r URL; do
((n++))
if [[ $URL =~ $RE ]]; then
SKU="${BASH_REMATCH[1]}"
else
echo "Problem parsing URL in queue (line $n): $URL"
continue
fi
#
# The SKU should be the entire thing, so we surround it with word
# boundaries so we don't match other variants.
#
awk 'BEGIN{RS = "\n\n"; ORS = "\n----\n"} /Code: +\<'"$SKU"'\>/{print}' "$SUMMARY"
done < "$QUEUE"
exit
# vim: syntax=sh:ts=8:sw=4:ai:et:tw=78:fo=tcrqn21