SMOLNET PORTAL home about changes
ifirst version - potcasse - Podcast publication made easy	Err	bitreich.org	70
hgit clone git://bitreich.org/potcasse git://hg6vgqziawt5s4dj.onion/potcasse	URL:git://bitreich.org/potcasse git://hg6vgqziawt5s4dj.onion/potcasse	bitreich.org	70
1Log	/scm/potcasse/log.gph	bitreich.org	70
1Files	/scm/potcasse/files.gph	bitreich.org	70
1Refs	/scm/potcasse/refs.gph	bitreich.org	70
1Tags	/scm/potcasse/tag	bitreich.org	70
1README	/scm/potcasse/file/README.md.gph	bitreich.org	70
1LICENSE	/scm/potcasse/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 7d50f07ca06423a5d0c93ce190093920f551c669	/scm/potcasse/commit/7d50f07ca06423a5d0c93ce190093920f551c669.gph	bitreich.org	70
hAuthor: Solene Rapenne <solene@perso.pw>	URL:mailto:solene@perso.pw	bitreich.org	70
iDate:   Tue, 20 Jul 2021 22:13:55 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
ifirst version	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  A potcasse                            |     116 ++++++++++++++++++++++++++++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 116 insertions(+), 0 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/potcasse b/potcasse	/scm/potcasse/file/potcasse.gph	bitreich.org	70
i@@ -0,0 +1,116 @@	Err	bitreich.org	70
i+#!/bin/sh	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+exitp() {	Err	bitreich.org	70
i+    echo "$1"	Err	bitreich.org	70
i+    exit 1	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+usage() {	Err	bitreich.org	70
i+    name=$(basename $0)	Err	bitreich.org	70
i+    printf '%s\n' \	Err	bitreich.org	70
i+        "$name init | gen | episode TITLE FILE [ID]" \	Err	bitreich.org	70
i+        "$name init" \	Err	bitreich.org	70
i+        ': initialize the potcasse structure' \	Err	bitreich.org	70
i+        "$name gen" \	Err	bitreich.org	70
i+        ': generate the RSS file' \	Err	bitreich.org	70
i+        "$name episode TITLE FILE [ID]" \	Err	bitreich.org	70
i+        ': create the structure for a new episode and eventually copy file [FILE] in [ID]'	Err	bitreich.org	70
i+    exit 0	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+init() {	Err	bitreich.org	70
i+    test -f metadata.sh && exitp "You seem in a directory managed by potcasse"	Err	bitreich.org	70
i+    mkdir -p episodes	Err	bitreich.org	70
i+    cat << EOF > metadata.sh	Err	bitreich.org	70
i+SITE=	Err	bitreich.org	70
i+LANG=en-us	Err	bitreich.org	70
i+#uncomment to use logo.png as a logo	Err	bitreich.org	70
i+#IMAGE=YES	Err	bitreich.org	70
i+EOF	Err	bitreich.org	70
i+    exit 0	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+episode() {	Err	bitreich.org	70
i+    test -f metadata.sh || exitp "The directory isn't managed by potcasse"	Err	bitreich.org	70
i+    TITLE="$1"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    test -f "$2" || exitp "File $2 doesn't exist"	Err	bitreich.org	70
i+    AUDIOFILE="$2"	Err	bitreich.org	70
i+    EXT=${AUDIOFILE##*.}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    if [ -n "$3" ]	Err	bitreich.org	70
i+    then	Err	bitreich.org	70
i+        ID="$3"	Err	bitreich.org	70
i+    else	Err	bitreich.org	70
i+        ID="$(date +%Y%m%d%H)"	Err	bitreich.org	70
i+    fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    DEST="episodes/${ID}"	Err	bitreich.org	70
i+    mkdir -p "$DEST"	Err	bitreich.org	70
i+    cat << EOF > ${DEST}/metadata.sh	Err	bitreich.org	70
i+TITLE="$TITLE"	Err	bitreich.org	70
i+PUBDATE="$(date "+%a, %d %b %Y 00:00:00 GMT")"	Err	bitreich.org	70
i+AUDIOFILE="${ID}.${EXT}"	Err	bitreich.org	70
i+EOF	Err	bitreich.org	70
i+    cp "$AUDIOFILE" "${DEST}/${ID}.${EXT}"	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+gen() {	Err	bitreich.org	70
i+    TMPFILE=$(mktemp /tmp/potcasse.XXXXXXXXXXXXXXXXXXXXX)	Err	bitreich.org	70
i+    . ./metadata.sh	Err	bitreich.org	70
i+    mkdir -p output_html/episodes	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    if [ -n "$IMAGE" ]	Err	bitreich.org	70
i+    then	Err	bitreich.org	70
i+        test -f logo.png || exitp "You defined an IMAGE, move it to $PWD/logo.png"	Err	bitreich.org	70
i+        cp logo.png output_html/logo.png	Err	bitreich.org	70
i+    fi	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    cat <<EOF >> $TMPFILE	Err	bitreich.org	70
i+<?xml version="1.0" encoding="UTF-8"?>	Err	bitreich.org	70
i+<rss version="2.0">	Err	bitreich.org	70
i+    <channel>	Err	bitreich.org	70
i+        <title>${TITLE}</title>	Err	bitreich.org	70
i+        <description>${DESCRIPTION}</description>	Err	bitreich.org	70
i+        <link>${SITE}</link>	Err	bitreich.org	70
i+        <image>	Err	bitreich.org	70
i+            <url>${SITE}/logo.png</url>	Err	bitreich.org	70
i+            <title>Image of ${SITE}</title>	Err	bitreich.org	70
i+            <link>${SITE}</link>	Err	bitreich.org	70
i+        </image>	Err	bitreich.org	70
i+        <language>${LANG}</language>	Err	bitreich.org	70
i+EOF	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    for episode in episodes/*	Err	bitreich.org	70
i+    do	Err	bitreich.org	70
i+        echo "Scanning $episode"	Err	bitreich.org	70
i+        . ${episode}/metadata.sh	Err	bitreich.org	70
i+        SIZE=$(stat -f "%z" "${episode}/${AUDIOFILE}")	Err	bitreich.org	70
i+        EXT=${AUDIOFILE##*.}	Err	bitreich.org	70
i+        rsync -a "${episode}/${AUDIOFILE}" output_html/episodes/	Err	bitreich.org	70
i+        cat <<EOF >> $TMPFILE	Err	bitreich.org	70
i+        <item>	Err	bitreich.org	70
i+            <title>$TITLE</title>	Err	bitreich.org	70
i+            <description></description>	Err	bitreich.org	70
i+            <pubDate>${PUBDATE}</pubDate>	Err	bitreich.org	70
i+            <enclosure url="${SITE}/episodes/${AUDIOFILE}" length="${SIZE}" type="audio/${EXT}" />	Err	bitreich.org	70
i+        </item>	Err	bitreich.org	70
i+EOF	Err	bitreich.org	70
i+    done	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    cat <<EOF >> $TMPFILE	Err	bitreich.org	70
i+    </channel>	Err	bitreich.org	70
i+</rss>	Err	bitreich.org	70
i+EOF	Err	bitreich.org	70
i+    install -m 644 "$TMPFILE" output_html/${RSSLINK}	Err	bitreich.org	70
i+    rm "$TMPFILE"	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+case "$1" in	Err	bitreich.org	70
i+        '')   usage;;	Err	bitreich.org	70
i+        help) usage;;	Err	bitreich.org	70
i+        init) init ;;	Err	bitreich.org	70
i+        gen)  gen  ;;	Err	bitreich.org	70
i+        episode) [ -n "$2" ] && episode "$2" "$3" "$4" ;;	Err	bitreich.org	70
i+esac	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/potcasse/commit/7d50f07ca0642...
Content-Typetext/plain; charset=utf-8