Files
hpr-tools/workflow/hpr-check-feeds.bash
2025-11-26 22:37:54 +01:00

36 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# cc-0
tmpdir=$(mktemp --directory /tmp/"$( basename ${0} ).XXXXXX" )
base="https://hackerpublicradio.org"
for feed in comments.rss comments_rss.php hpr_mp3.rss hpr_mp3_rss.php hpr_mp3_rss.php?series=47 hpr_ogg.rss hpr_ogg_rss.php hpr_ogg_rss.php?series=47 hpr_opus_rss.php hpr_opus_rss.php?series=47 hpr_rss_mp3.php hpr_rss.php hpr_spx.rss hpr.sql.rss hpr_total_mp3.rss hpr_total_ogg.rss hpr_total_ogg_rss.php hpr_total_opus_rss.php hpr_total_rss.php hpr_total_spx.rss rss-ccdnv1.php rss-future.php rss.php
do
tmpfile="${tmpdir}/${feed}"
wget --no-verbose "${base}/${feed}" --output-document="${tmpfile}"
if [[ ! -s "${tmpfile}" || -z "${tmpfile}" ]]
then
echo "The \"tmpfile\" variable/file is missing."
fi
if [ "$( file --brief --mime-type "${tmpfile}" | grep --count 'text/xml' )" -ne "1" ]
then
echo "The \"tmpfile\" variable has not a valid \"text/xml\" mime type."
fi
xmllint --format "${tmpfile}" >/dev/null 2>&1
if [ $? -ne 0 ]
then
echo "✗ The feed \"${base}/${feed}\" is not valid xml."
else
echo "🗸 The feed \"${base}/${feed}\" is valid xml."
fi
done
read -p "Remove the feeds ? (Y|n) ? " -n 1 -r
echo # (optional) move to a new line
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
echo "The files are available in \"${tmpdir}\"."
else
rm -v "${tmpdir}/*.*"
fi