#!/bin/sh

PREFIX="HoP "
EPISODE=$(printf '%03d' "$1")
FEED_URL="https://feed.podbean.com/hopwag/feed.xml"
FEED="/tmp/hopwag.xml"

[ -z "$1" ] && { echo "Usage: $(basename "$0") <episode_nr>" >&2; exit 1; }

[ ! -f "$FEED" ] || [ -n "$(find "$FEED" -mmin +1440)" ] && curl -sL "$FEED_URL" -o "$FEED"

URL=$(xsltproc\
          --stringparam prefix "$PREFIX"\
          --stringparam episode "$EPISODE" - "$FEED" <<'EOF'
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"
              encoding="utf-8"/>

  <xsl:param name="episode"/>
  <xsl:param name="prefix"/>

  <xsl:template match="text()"/>

  <xsl:template match="/rss/channel/item">
    <xsl:if test="starts-with(title, concat($prefix, $episode, ' '))">
      <xsl:value-of select="enclosure/@url"/>
      <xsl:text>&#10;</xsl:text>
    </xsl:if>
  </xsl:template>

</xsl:stylesheet>

EOF
   )

[ -z "$URL" ] && { echo "Episode $EPISODE not found" >&2; exit 1;}

curl -LRO "$URL"
