summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2023-06-09 14:40:40 +0200
committerHiltjo Posthuma <hiltjo@codemadness.org>2023-06-09 14:40:40 +0200
commit96d7afc7d7511f05ba07c5acbb5bbfb2847bc126 (patch)
treed6e247a196b283787806600c01ab024a36049c11
parent21790adad1672689225efe38b6a59494181d323b (diff)
sfeed_update/sfeedrc: add url as parameter to the filter() and order() function
This might make it easier to set filters or ordering by pattern matching on a group of feeds by the feed URL. For example youtube or reddit feeds. Another way which was already possible is prefixing names with for example: "reddit somename" or "yt somename".
-rw-r--r--README2
-rwxr-xr-xsfeed_update8
-rw-r--r--sfeedrc.510
3 files changed, 12 insertions, 8 deletions
diff --git a/README b/README
index fbe40b6..d128360 100644
--- a/README
+++ b/README
@@ -336,7 +336,7 @@ filtering items per feed. It can be used to shorten URLs, filter away
advertisements, strip tracking parameters and more.
# filter fields.
- # filter(name)
+ # filter(name, url)
filter() {
case "$1" in
"tweakers")
diff --git a/sfeed_update b/sfeed_update
index 3da45d3..dadea9b 100755
--- a/sfeed_update
+++ b/sfeed_update
@@ -71,7 +71,7 @@ parse() {
}
# filter fields.
-# filter(name)
+# filter(name, url)
filter() {
cat
}
@@ -83,7 +83,7 @@ merge() {
}
# order by timestamp (descending).
-# order(name)
+# order(name, url)
order() {
sort -t ' ' -k1rn,1
}
@@ -124,7 +124,7 @@ _feed() {
fi
rm -f "${tmpfeedfile}.utf8"
- if ! filter "${name}" < "${tmpfeedfile}.tsv" > "${tmpfeedfile}.filter"; then
+ if ! filter "${name}" "${feedurl}" < "${tmpfeedfile}.tsv" > "${tmpfeedfile}.filter"; then
log_error "${name}" "FAIL (FILTER)"
return 1
fi
@@ -142,7 +142,7 @@ _feed() {
fi
rm -f "${tmpfeedfile}.filter"
- if ! order "${name}" < "${tmpfeedfile}.merge" > "${tmpfeedfile}.order"; then
+ if ! order "${name}" "${feedurl}" < "${tmpfeedfile}.merge" > "${tmpfeedfile}.order"; then
log_error "${name}" "FAIL (ORDER)"
return 1
fi
diff --git a/sfeedrc.5 b/sfeedrc.5
index 91f82ce..16e0641 100644
--- a/sfeedrc.5
+++ b/sfeedrc.5
@@ -1,4 +1,4 @@
-.Dd January 18, 2023
+.Dd June 9, 2023
.Dt SFEEDRC 5
.Os
.Sh NAME
@@ -101,13 +101,15 @@ URL of the feed.
Base URL of the feed links.
This argument allows to fix relative item links.
.El
-.It Fn filter "name"
+.It Fn filter "name" "url"
Filter
.Xr sfeed 5
data from stdin and write it to stdout, its arguments are:
.Bl -tag -width Ds
.It Fa name
Feed name.
+.It Fa url
+URL of the feed.
.El
.It Fn merge "name" "oldfile" "newfile"
Merge
@@ -121,13 +123,15 @@ Old file.
.It Fa newfile
New file.
.El
-.It Fn order "name"
+.It Fn order "name" "url"
Sort
.Xr sfeed 5
data from stdin and write it to stdout, its arguments are:
.Bl -tag -width Ds
.It Fa name
Feed name.
+.It Fa url
+URL of the feed.
.El
.El
.Sh EXAMPLES