Refactor the logic to use awk to format the gph - gophercgis - Collection of gopher CGI/DCGI for geomyidae
(HTM) hg clone https://bitbucket.org/iamleot/gophercgis
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) changeset c9557c76c6673dc4920e8d2b1ea438bb25a4ebfa
(DIR) parent a3b1152cd2bfbfe6b2baf8f042253e6f0e0446cd
(HTM) Author: Leonardo Taccari <iamleot@gmail.com>
Date: Wed, 2 Jan 2019 01:39:13
Refactor the logic to use awk to format the gph
Instead of directly printing via jq, produce a TSV of the several
entries and process them via awk and par to format the description.
Diffstat:
mediasetplay/category.dcgi | 38 ++++++++++++++++++++++++++++++++++----
1 files changed, 34 insertions(+), 4 deletions(-)
---
diff -r a3b1152cd2bf -r c9557c76c667 mediasetplay/category.dcgi
--- a/mediasetplay/category.dcgi Wed Jan 02 01:15:50 2019 +0100
+++ b/mediasetplay/category.dcgi Wed Jan 02 01:39:13 2019 +0100
@@ -20,12 +20,42 @@
curl -Lgs "${url}" |
jq -r '
( .entries[] |
- "[h|\(.title | gsub("\\|"; "\\|"))|URL:https:\(."mediasetprogram$videoPageUrl")|server|port]",
- "t\(.description)",
- "t" ),
+ .title + "\t" +
+ "https:\(."mediasetprogram$videoPageUrl")" + "\t" +
+ .description
+ ),
if .entryCount == .itemsPerPage then
- "[1|Next|'"${CGI}?${category}/"'" + ((.startIndex + .entryCount) | tostring) + "|server|port]"
+ "Next" + "\t" + "'"${CGI}?${category}/"'" + ((.startIndex + .entryCount) | tostring)
else
empty
end
+' |
+awk -F "\t" '
+
+function print_description(text)
+{
+ cmd = "par -d 0 -B=. -w 72"
+ cmd = cmd " | sed -e \"s/^/t/\""
+
+ print text | cmd
+ close(cmd)
+}
+
+# entries
+NF == 3 {
+ title = $1
+ url = $2
+ description = $3
+
+ gsub("\\|", "\\|", title)
+
+ printf("[h|%s|URL:%s|server|port]\n", title, url)
+ print_description(description)
+ printf("t\n")
+}
+
+# pagination
+NF == 2 {
+ printf("[1|%s|%s|server|port]\n", $1, $2)
+}
'