From bcc6b0d3ac5990b8771258ce2b089b4d43aaa789 Mon Sep 17 00:00:00 2001 From: dtb Date: Wed, 2 Nov 2022 00:55:00 -0400 Subject: [PATCH] more pig stuff --- rss/pig_fetch | 0 rss/pig_fetch.youtube | 8 +++++--- rss/pig_name | 3 +++ rss/pig_pen | 6 ++++++ rss/pig_recall | 14 ++++++++++++++ rss/pig_stow | 9 ++++++--- 6 files changed, 34 insertions(+), 6 deletions(-) mode change 100644 => 100755 rss/pig_fetch mode change 100644 => 100755 rss/pig_fetch.youtube create mode 100755 rss/pig_name create mode 100755 rss/pig_pen create mode 100755 rss/pig_recall mode change 100644 => 100755 rss/pig_stow diff --git a/rss/pig_fetch b/rss/pig_fetch old mode 100644 new mode 100755 diff --git a/rss/pig_fetch.youtube b/rss/pig_fetch.youtube old mode 100644 new mode 100755 index bab4a49..8878c98 --- a/rss/pig_fetch.youtube +++ b/rss/pig_fetch.youtube @@ -1,7 +1,9 @@ #!/bin/sh id(){ - youtube-dl --skip-download --print-json --playlist-items 1 "$1" | jq '.channel_id' | tr -d '"' + youtube-dl --skip-download --print-json --playlist-items 1 "$1" \ + | jq '.channel_id' \ + | tr -d '"' } feedurl(){ @@ -9,6 +11,6 @@ feedurl(){ } case "$1" in -channel) feedurl "$(id "$2")" -id) feedurl "$2" +channel) feedurl "$(id "$2")" ;; +id) feedurl "$2" ;; esac | xargs curl -o - -- diff --git a/rss/pig_name b/rss/pig_name new file mode 100755 index 0000000..84b0fb2 --- /dev/null +++ b/rss/pig_name @@ -0,0 +1,3 @@ +#!/bin/sh + +printf "%s\n" "$1" | tr -cd '[:alnum:]' | xargs printf "%s.xml\n" diff --git a/rss/pig_pen b/rss/pig_pen new file mode 100755 index 0000000..accdd2c --- /dev/null +++ b/rss/pig_pen @@ -0,0 +1,6 @@ +#!/bin/sh + +str isvalue "$XDG_CONFIG_HOME" \ + && printf "%s\n" "$XDG_CONFIG_HOME" && exit 0 \ + || printf "%s/.pigpen" "$HOME" && exit 0 \ + || exit 1 diff --git a/rss/pig_recall b/rss/pig_recall new file mode 100755 index 0000000..6ed13d6 --- /dev/null +++ b/rss/pig_recall @@ -0,0 +1,14 @@ +#!/bin/sh +set -e + +filename="$(pig_pen)/$(pig_name $1)" +loop=0 + +while streq $loop 0; do + loop=1 + if test -e "$filename"; then + cat "$filename" + else + pig_stow "$1" && loop=0 + fi +done diff --git a/rss/pig_stow b/rss/pig_stow old mode 100644 new mode 100755 index 2a1e46e..adbc2b0 --- a/rss/pig_stow +++ b/rss/pig_stow @@ -1,9 +1,12 @@ #!/bin/sh -set -x +set -e + +str isvalue "$pig_fetch" \ + || pig_fetch="$(command -v pig_fetch)" while str isvalue "$1"; do - sh pig_fetch | xq -x "$( + $pig_fetch | xq -x "$( printf '. + { pig: { @@ -13,7 +16,7 @@ while str isvalue "$1"; do } }' "$1" \ | tr -d '[:space:]' \ - )" >"$(printf "%s\n" "$1" | tr -cd "[:alnum:]")".xml + )" >"$(pig_pen)/$(pig_name "$1")" shift done