|
|
tAllow purely arguments control of the search output. - recipes - various cooking recipes |
|
|
 |
git clone git://src.adamsgaard.dk/recipes (git://src.adamsgaard.dk) |
|
|
 |
Log |
|
|
 |
Files |
|
|
 |
Refs |
|
|
 |
Submodules |
|
|
|
--- |
|
|
 |
commit 1d6448b2fe5caab14f9afcf88d97635be94b447e |
|
|
 |
parent e0edbfac7024dc6f6ca06752839ef819120db3d3 |
|
|
 |
Author: Christoph Lohmann <20h@r-36.net> (mailto://) |
|
|
|
Date: Fri, 27 Aug 2021 14:49:13 +0200 |
|
|
|
|
|
|
|
Allow purely arguments control of the search output. |
|
|
|
|
|
|
|
* Format the source to a congruent if style. |
|
|
|
* allow '+' as space replacement for complex scripted search |
|
|
|
|
|
|
|
index.dcgi?vegetarian+milk+cabbage |
|
|
|
index.dcgi?milk+cabbage |
|
|
|
|
|
|
|
Diffstat: |
|
|
|
M index.dcgi | 42 ++++++++++++++++++++++--------- |
|
|
|
|
|
|
|
1 file changed, 30 insertions(+), 12 deletions(-) |
|
|
|
--- |
|
|
 |
diff --git a/index.dcgi b/index.dcgi |
|
|
|
t@@ -8,14 +8,15 @@ port="$4" |
|
|
|
recipedir="recipes/" |
|
|
|
|
|
|
|
printf '\n# EMPTY-THE-FRIDGE COOKING RECIPE SEARCH\n\n' |
|
|
|
-printf 'Search for one or more items which must appear in the recipe |
|
|
|
-ingredient list (space separated, case insensitive).\n' |
|
|
|
+printf 'Search for one or more items which must appear in the\nrecipe ingredient list (space separated, case insensitive).\n' |
|
|
|
|
|
|
|
gphfmt() { |
|
|
|
while read -r l; do |
|
|
|
- if test -f "$l"; then |
|
|
|
+ if [ -f "$l" ]; |
|
|
|
+ then |
|
|
|
printf '[0|%s|/%s%s|server|port]\n' "$l" "$recipedir" "$l" |
|
|
|
- elif test -f "$l"; then |
|
|
|
+ elif [ -f "$l" ]; |
|
|
|
+ then |
|
|
|
printf '[1|%s|/%s%s|server|port]\n' "$l" "$recipedir" "$l" |
|
|
|
else |
|
|
|
printf '%s\n' "$l" |
|
|
|
t@@ -23,19 +24,35 @@ gphfmt() { |
|
|
|
done |
|
|
|
} |
|
|
|
|
|
|
|
-if test -n "${search}"; then |
|
|
|
- if test "${arguments}" = "vegetarian"; then |
|
|
|
- results="$(./cookwhatveg $search | gphfmt)" |
|
|
|
+searchvegetarian=0 |
|
|
|
+case "${arguments}" in |
|
|
|
+vegetarian*) |
|
|
|
+ arguments="$(printf "%s\n" "${arguments}" | cut -c 11-)" |
|
|
|
+ searchvegetarian=1 |
|
|
|
+ ;; |
|
|
|
+esac |
|
|
|
+[ -n "${search}" ] && arguments="${arguments}+${search}" |
|
|
|
+ |
|
|
|
+if [ -n "${arguments}" ]; |
|
|
|
+then |
|
|
|
+ normalarguments="$(printf "${arguments}\n" | tr '+' ' ')" |
|
|
|
+ if [ $searchvegetarian -eq 1 ]; |
|
|
|
+ then |
|
|
|
+ results="$(./cookwhatveg "$normalarguments" | gphfmt)" |
|
|
|
else |
|
|
|
- results="$(./cookwhat $search | gphfmt)" |
|
|
|
+ results="$(./cookwhat "$normalarguments" | gphfmt)" |
|
|
|
fi |
|
|
|
|
|
|
|
n="$(printf '%s' "$results" | wc -l)" |
|
|
|
- if test "$n" -gt 0; then |
|
|
|
- if test "$n" -gt 1; then |
|
|
|
- printf '\n## Results (%d recipes): "%s" \n' "$n" "$search" |
|
|
|
+ if [ $n -gt 0 ]; |
|
|
|
+ then |
|
|
|
+ if [ $n -gt 1 ]; |
|
|
|
+ then |
|
|
|
+ printf '\n## Results (%d recipes): "%s" \n' \ |
|
|
|
+ "$n" "$normalarguments" |
|
|
|
else |
|
|
|
- printf '\n## Just one result: "%s" \n' "$search" |
|
|
|
+ printf '\n## Just one result: "%s" \n' \ |
|
|
|
+ "$normalarguments" |
|
|
|
fi |
|
|
|
printf '\n%s\n' "$results" |
|
|
|
else |
|
|
|
t@@ -53,3 +70,4 @@ printf '[h|git://src.adamsgaard.dk/recipes|URL:git://src.adamsgaard.dk/recipes|s |
|
|
|
printf '[1|Source code view|/src/recipes|server|port]\n' |
|
|
|
|
|
|
|
printf '\n[1|<< back|/|server|port]\n' |
|
|
|
+ |
|