diff options
author | Hiltjo Posthuma <hiltjo@codemadness.org> | 2021-01-25 19:27:04 +0100 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2021-01-27 15:24:02 +0100 |
commit | 1a17ad48876172fadb6782f1edee2058819770dc (patch) | |
tree | de12972b279a76072d51839dd814df3e870ecdfe | |
parent | 650adaf537c2baea0d8ad1d11d16286c798cd640 (diff) |
sfeed_update: add an overridable parse() function, using sfeed(1) by default
This can be useful to make more cleanly make connector scripts.
This does not necesarily even have to be in the sfeed(5) format.
-rwxr-xr-x | sfeed_update | 8 | ||||
-rw-r--r-- | sfeedrc.5 | 15 |
2 files changed, 21 insertions, 2 deletions
diff --git a/sfeed_update b/sfeed_update index 3cf575c..ff9a44a 100755 --- a/sfeed_update +++ b/sfeed_update @@ -55,6 +55,12 @@ convertencoding() { fi } +# parse and convert input, by default XML to the sfeed(5) TSV format. +# parse(name, feedurl, basesiteurl) +parse() { + sfeed "$3" +} + # filter fields. # filter(name) filter() { @@ -115,7 +121,7 @@ feed() { fi rm -f "${tmpfeedfile}.fetch" - if ! sfeed "${basesiteurl}" < "${tmpfeedfile}.utf8" > "${tmpfeedfile}.tsv"; then + if ! parse "${name}" "${feedurl}" "${basesiteurl}" < "${tmpfeedfile}.utf8" > "${tmpfeedfile}.tsv"; then log "${name}" "FAIL (CONVERT)" return fi @@ -1,4 +1,4 @@ -.Dd January 11, 2021 +.Dd January 24, 2021 .Dt SFEEDRC 5 .Os .Sh NAME @@ -86,6 +86,19 @@ To text-encoding. By default the tool .Xr iconv 1 is used. +.It Fn parse "name" "feedurl" "basesiteurl" +Parse and convert RSS/Atom XML to the +.Xr sfeed 5 +TSV format. +.Bl -tag -width Ds +.It Fa name +Name of the feed. +.It Fa feedurl +Url of the feed. +.It Fa basesiteurl +Baseurl of the feed links. +This argument allows to fix relative item links. +.El .It Fn filter "name" Filter .Xr sfeed 5 |