# HG changeset patch # User Aleksej Bobylev # Date 1419002708 -7200 # Node ID 474681a166a8b60a33ed2772628252b5a799848f # Parent 9081585e74461430eb2c08c97e5e4cd260de7235 Style package table (less html, more css); really quick package list in test mode (add "&awk" to "pkgs.cgi?cat=..." to check it). diff -r 9081585e7446 -r 474681a166a8 tazpanel/pkgs.cgi --- a/tazpanel/pkgs.cgi Thu Dec 18 03:43:49 2014 +0200 +++ b/tazpanel/pkgs.cgi Fri Dec 19 17:25:08 2014 +0200 @@ -53,9 +53,9 @@ i18n_desc $PACKAGE cat << EOT -$(pkg_info_link $PACKAGE $class) +$(pkg_info_link $PACKAGE $class) $VERSION -$SHORT_DESC +$SHORT_DESC EOT @@ -71,9 +71,9 @@ i18n_desc $PACKAGE cat << EOT -$(pkg_info_link $PACKAGE $class) +$(pkg_info_link $PACKAGE $class) $VERSION -$SHORT_DESC +$SHORT_DESC EOT @@ -296,7 +296,7 @@ - +
$(table_head) EOT @@ -309,9 +309,9 @@ grep -qs "^$pkg$" $PKGS_DB/blocked-packages.list && blocked="b" i18n_desc $pkg cat << EOT - + - + EOT @@ -352,7 +352,7 @@ EOT cat << EOT -
$(pkg_info_link $pkg pkgi$blocked)$(pkg_info_link $pkg pkgi$blocked) $VERSION$SHORT_DESC$SHORT_DESC
+
$(table_head) EOT @@ -363,9 +363,9 @@ i18n_desc $pkg cat << EOT - + - + EOT @@ -421,7 +421,7 @@

$(_ 'Repository: %s' $Repo_Name)

EOT fi - echo '
$(pkg_info_link $pkg pkg)$(pkg_info_link $pkg pkg) $VERSION$SHORT_DESC$SHORT_DESC
' + echo '
' table_head echo '' @@ -431,11 +431,56 @@ $i/extra.list | parse_packages_info ;; all) + # test awk speed (sorry, no i18n_desc, no blocked now) + # http://tazpanel:82/pkgs.cgi?cat=all&repo=Any&awk + if [ $(GET awk) == "awk" ]; then + sort $i/packages.info $i/installed.info | \ + awk -F$'\t' ' + function outrow(pkg, cls, ver, dsc, web, pkge) { + pkge=pkg; gsub(/\+/, "%2B", pkge) + printf "", pkg, cls, pkge, pkg, ver, dsc, web } + { + if ($1==PKG) { + outrow($1, "pkgi", $2, $4, $5) + INS=$1 + } else { + if (PKG!=INS) { + outrow(PKG, "pkg", VER, DSC, WEB) + } + } + PKG=$1; VER=$2; DSC=$4; WEB=$5 + }' + else + # old slow method parse_packages_info < $i/packages.info + fi ;; *) + # test awk speed (sorry, no i18n_desc, no blocked now) + # http://tazpanel:82/pkgs.cgi?cat=base-system&repo=Any&awk + if [ $(GET awk) == "awk" ]; then + sort $i/packages.info $i/installed.info | \ + awk -F$'\t' -vc="$category" ' + function outrow(pkg, cls, ver, dsc, web, pkge) { + pkge=pkg; gsub(/\+/, "%2B", pkge) + printf "", pkg, cls, pkge, pkg, ver, dsc, web } + { + if ($3==c) { + if ($1==PKG) { + outrow($1, "pkgi", $2, $4, $5) + INS=$1 + } else { + if (PKG!=INS) { + outrow(PKG, "pkg", VER, DSC, WEB) + } + } + PKG=$1; VER=$2; DSC=$4; WEB=$5 + }}' + else + # old slow method awk -F$'\t' -vc=$category '{if ($3 == c) print $0}' \ $i/packages.info | parse_packages_info + fi ;; esac cat << EOT @@ -497,7 +542,7 @@ class=pkg; [ -d $INSTALLED/$PACKAGE ] && class=pkgi cat << EOT - + EOT @@ -586,10 +631,8 @@ $(table_head) EOT - for pkg in `cat packages.up` - do - grep -hs "^$pkg |" $PKGS_DB/packages.desc \ - $PKGS_DB/undigest/*/packages.desc | \ + for pkg in $(cat packages.up); do + grep -hs "^$pkg |" $PKGS_DB/packages.desc $PKGS_DB/undigest/*/packages.desc | \ parse_packages_desc done cat << EOT diff -r 9081585e7446 -r 474681a166a8 tazpanel/pkgs.css --- a/tazpanel/pkgs.css Thu Dec 18 03:43:49 2014 +0200 +++ b/tazpanel/pkgs.css Fri Dec 19 17:25:08 2014 +0200 @@ -26,5 +26,21 @@ display: inline-block; } -td.pkg { - white-space: nowrap; } +.pkglist td:nth-child(1) { + white-space: nowrap; + } + +.pkglist td:nth-child(1) a { + max-width: 12em; + } + +.pkglist td:nth-child(2) { + max-width: 7em; + } + +.pkglist td:nth-child(1) a, .pkglist td:nth-child(2) { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; -o-text-overflow: ellipsis; + } +
%s%s%s
%s%s%s
$(pkg_info_link $PACKAGE $class)$(pkg_info_link $PACKAGE $class) $FILE