Add support for pagination - 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 b2ade3d5af2acb088008dd7738822a4076ce7dff
(DIR) parent 2d08cc62d487ca362a84f62e5e5c722c2cefc8d5
(HTM) Author: Leonardo Taccari <iamleot@gmail.com>
Date: Thu, 28 Feb 2019 09:59:54
Add support for pagination
Diffstat:
duckduckgo/search.dcgi | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
---
diff -r 2d08cc62d487 -r b2ade3d5af2a duckduckgo/search.dcgi
--- a/duckduckgo/search.dcgi Wed Feb 27 15:52:12 2019 +0100
+++ b/duckduckgo/search.dcgi Thu Feb 28 09:59:54 2019 +0100
@@ -4,10 +4,14 @@
SEARCH_CGI="${CGI_BASEDIR}/duckduckgo/search.dcgi"
+url="https://duckduckgo.com/lite/"
+
if [ -n "$1" ]; then
query=$1
i=0
- url="https://duckduckgo.com/lite/"
+elif [ -n "$2" ]; then
+ query=${2%/*}
+ i=${2##*/}
else
exit 1
fi
@@ -18,7 +22,7 @@
curl -A '' -Lgs -d "q=${query}" -d "s=${i}" \
-d "nextParams=" -d "v=l" -d "o=json" -d "api=/d.js" -- "${url}" |
-awk \
+awk -v query="${query}" -v n="${i}" -v cgi="${SEARCH_CGI}" \
'
function gphize(s)
{
@@ -56,4 +60,18 @@
printf("[h|%s|URL:%s|host|port]\n", gphize(title), url)
}
}
+
+END {
+ print "t"
+
+ if (n >= 30) {
+ printf("[1|<< Previous|%s?%s/%d|server|port]\n",
+ cgi, query, n - 30)
+ }
+
+ if (n >= 0) {
+ printf("[1|>> Next|%s?%s/%d|server|port]\n",
+ cgi, query, n + 30)
+ }
+}
'