# HG changeset patch # User Pascal Bellard # Date 1302945556 -7200 # Node ID a613e1727e0c0c53555e270b3a027beec7a07d82 # Parent 436203625f21cd24bafec1cbcaba5593d6e1a71f pkgs.cgi: add undigest support in search_form diff -r 436203625f21 -r a613e1727e0c pkgs.cgi --- a/pkgs.cgi Fri Apr 15 23:59:33 2011 +0100 +++ b/pkgs.cgi Sat Apr 16 11:19:16 2011 +0200 @@ -82,6 +82,8 @@ # ENTER will search but user may search for a button, so put one. search_form() { + [ -n "$repo" ] || repo="$(GET repo)" + [ -n "$repo" ] || repo=Any cat << EOT @@ -108,7 +111,7 @@ } sidebar() { - [ -n "$repo" ] || repo=public + [ -n "$repo" ] || repo=Public cat << EOT " @@ -151,15 +154,15 @@ repo_list() { if [ -n "$(ls $LOCALSTATE/undigest/ 2> /dev/null)" ]; then case "$repo" in - public) ;; - ""|any) for i in $LOCALSTATE/undigest/* ; do - echo "$i/$1" + Public) ;; + ""|Any) for i in $LOCALSTATE/undigest/* ; do + [ -d "$i" ] && echo "$i$1" done ;; - *) echo "$LOCALSTATE/undigest/$repo/$1" + *) echo "$LOCALSTATE/undigest/$repo$1" return ;; esac fi - echo "$LOCALSTATE/$1" + echo "$LOCALSTATE$1" } # @@ -221,7 +224,6 @@ # cd $LOCALSTATE repo=$(GET repo) - [ -n "$repo" ] || repo=Any category=$(GET cat) [ "$category" == "cat" ] && category="base-system" grep_category=$category @@ -249,12 +251,13 @@ EOT - for i in $(repo_list packages.desc); do - [ "$repo" != "public" -a -d $LOCALSTATE/undigest ] && - echo "

Repository: $(dirname $i)

" + for i in $(repo_list ""); do + [ "$repo" != "Public" ] && + echo "

Repository: $i

" table_start table_head - grep "| $grep_category |" $i | parse_packages_desc + grep "| $grep_category |" $i/packages.desc | \ + parse_packages_desc table_end done echo '' ;; @@ -264,9 +267,10 @@ # and so get result including packages names and descriptions # pkg=$(GET search) + repo=$(GET repo) cd $LOCALSTATE search_form - sidebar + sidebar | sed "s/repo_$repo/active/" LOADING_MSG="Searching packages..." loading_msg cat << EOT @@ -287,6 +291,7 @@ `gettext "My packages"` + EOT table_start if [ "$(GET files)" ]; then @@ -295,8 +300,8 @@ `gettext "Package"` `gettext "File"` - $(unlzma -c files.list.lzma undigest/*/files.list.lzma \ - 2>/dev/null | grep -Ei ": .*$(GET search)" | \ + $(unlzma -c $(repo_list /files.list.lzma) \ + | grep -Ei ": .*$(GET search)" | \ while read PACKAGE FILE; do PACKAGE=${PACKAGE%:} image=tazpkg-installed.png @@ -310,7 +315,7 @@ EOT else table_head - grep -is $pkg packages.desc undigest/*/packages.desc | \ + grep -ih $pkg $(repo_list /packages.desc) | \ parse_packages_desc fi table_end @@ -450,7 +455,7 @@ LOADING_MSG=$(gettext "Getting package info...") loading_msg IFS='|' - set -- $(grep -s "^$pkg |" packages.desc \ + set -- $(grep -hs "^$pkg |" packages.desc \ undigest/*/packages.desc) unset IFS PACKAGE=$1 @@ -526,7 +531,7 @@ else cat << EOT Website : $WEB_SITE -Sizes : `grep -sA 3 ^$pkg$ packages.txt undigest/*/packages.txt | \ +Sizes : `grep -hsA 3 ^$pkg$ packages.txt undigest/*/packages.txt | \ tail -n 1 | sed 's/ *//'`