From be5c22dbb978cafff297832a1513e0125f43f764 Mon Sep 17 00:00:00 2001 From: dtb Date: Sat, 5 Nov 2022 08:55:45 -0400 Subject: [PATCH] support JSON feeds --- rss/pig_latin | 8 ++++++-- rss/pig_name | 3 +-- rss/pig_pen | 6 +++++- rss/pig_recall | 13 +++---------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/rss/pig_latin b/rss/pig_latin index aa09b98..ba4ed5f 100755 --- a/rss/pig_latin +++ b/rss/pig_latin @@ -1,6 +1,10 @@ #!/bin/sh while str isvalue "$1"; do - xq '.feed.pig' <"$1" - shift + case "$1" in + *xml) + xq '.feed.pig' <"$1" ;; + *json) + jq '.feed.pig' <"$1" ;; + esac done diff --git a/rss/pig_name b/rss/pig_name index d5809cb..f1fd610 100755 --- a/rss/pig_name +++ b/rss/pig_name @@ -1,5 +1,4 @@ #!/bin/sh printf "%s\n" "$1" \ - | tr -cd '[:alnum:]' \ - | xargs printf "%s.xml\n" + | tr -cd '[:alnum:]' diff --git a/rss/pig_pen b/rss/pig_pen index 821964e..39831c8 100755 --- a/rss/pig_pen +++ b/rss/pig_pen @@ -1,6 +1,10 @@ #!/bin/sh +set -e -str isvalue "$PIGPEN" \ +str isvalue "$1" \ + && printf "Usage: %s\n" "$0" 1>&2 \ + && exit 64 \ +|| str isvalue "$PIGPEN" \ && printf "%s\n" "$PIGPEN" \ && exit 0 \ || str isvalue "$XDG_CONFIG_HOME" \ diff --git a/rss/pig_recall b/rss/pig_recall index 6ed13d6..86c4cff 100755 --- a/rss/pig_recall +++ b/rss/pig_recall @@ -1,14 +1,7 @@ #!/bin/sh set -e -filename="$(pig_pen)/$(pig_name $1)" -loop=0 +filename="$(pig_pen)/$(pig_name "$1")" -while streq $loop 0; do - loop=1 - if test -e "$filename"; then - cat "$filename" - else - pig_stow "$1" && loop=0 - fi -done +test -e "$filename" || pig_stow "$1" +cat "$filename"