From: Paul Hänsch Date: Mon, 23 Jul 2018 20:54:59 +0000 (+0200) Subject: speed up tag genration X-Git-Url: https://git.plutz.net/?a=commitdiff_plain;h=114211b3bf6aeec4f2a56b8b9a93779df5719246;p=serve0 speed up tag genration --- diff --git a/widgets.sh b/widgets.sh index f649306..a7fb633 100644 --- a/widgets.sh +++ b/widgets.sh @@ -196,8 +196,11 @@ w_advsearch(){ printf '%s\n' "$w_tags" \ | { [ "$category" = '*' ] && grep -avF ':' || grep -awF "${category}"; } \ - | { for n in 1 2 3 4 5 6 7 8 9 0; do line || break; done; sort; } \ - | while read -r tag; do + | { for n in 1 2 3 4 5 6 7 8 9 0; do + read -r line && printf '%s\n' "$line" || break; + done; # path 10 lines through without modification + sort; # and sort remaining lines + } | while read -r tag; do [ "$tag" ] || continue t=''; [ ! "${f%%*|${tag}|*}" ] && t=checked printf '[option %s value="%s"\n%s]' "$t" "$tag" "${tag#*:}" @@ -229,8 +232,11 @@ w_tagging(){ printf '[fieldset [legend %s:][select name=tag size=4 multiple' "$category" printf %s "$w_tags" \ | { [ "$category" = 'Tags' ] && grep -avF ':' || grep -awF "${category}"; } \ - | { for n in 1 2 3 4 5 6 7 8 9 0; do line || break; done; sort; } \ - | while read -r tag; do + | { for n in 1 2 3 4 5 6 7 8 9 0; do + read -r line && printf '%s\n' "$line" || break + done; + sort; + } | while read -r tag; do [ "$tag" ] || continue printf '[option value="%s"\n%s]' "$tag" "${tag#*:}" done