spk rev 142
Improve spk-dialog and spk-find
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sun Apr 06 22:13:32 2014 +0200 (2014-04-06) |
parents | 1ab690b993b4 |
children | ab86b026e33a |
files | spk-dialog spk-find |
line diff
1.1 --- a/spk-dialog Sat Apr 05 08:23:59 2014 +0100 1.2 +++ b/spk-dialog Sun Apr 06 22:13:32 2014 +0200 1.3 @@ -55,7 +55,7 @@ 1.4 dialog --title "$title" \ 1.5 --msgbox "\nERROR: $file does not exist" 10 ${width} 1.6 fi 1.7 - # Handle options 1.8 + # Handle buttons action 1.9 case "$?" in 1.10 3) editor ${file} ;; 1.11 esac 1.12 @@ -71,6 +71,34 @@ 1.13 --textbox "$out" ${height} ${width} 1.14 } 1.15 1.16 +# Add packages 1.17 +spk_add_box() { 1.18 + dialog \ 1.19 + --title "{ Spk Add }" \ 1.20 + --no-cancel \ 1.21 + --ok-label "$(gettext 'Install')" \ 1.22 + --inputbox "\n$(gettext 'Packages name you wich to install:')" \ 1.23 + ${height} ${width} 2>${tmp} 1.24 + pkgs=$(cat $tmp) 1.25 + if [ "$pkgs" ]; then 1.26 + clear && spk-add ${pkgs} && spk_read 1.27 + fi 1.28 +} 1.29 + 1.30 +# Remove packages 1.31 +spk_rm_box() { 1.32 + dialog \ 1.33 + --title "{ Spk Remove }" \ 1.34 + --no-cancel \ 1.35 + --ok-label "$(gettext 'Remove')" \ 1.36 + --inputbox "\n$(gettext 'Packages name you wich to remove:')" \ 1.37 + ${height} ${width} 2>${tmp} 1.38 + pkgs=$(cat $tmp) 1.39 + if [ "$pkgs" ]; then 1.40 + clear && spk-rm ${pkgs} && spk_read 1.41 + fi 1.42 +} 1.43 + 1.44 # Main Dialog menu 1.45 main_box() { 1.46 dialog \ 1.47 @@ -82,6 +110,8 @@ 1.48 "info" "$(gettext 'Packages information')" \ 1.49 "list" "$(gettext 'List installed packages')" \ 1.50 "upgrade" "$(gettext 'Upgrade installed packages')" \ 1.51 +"install" "$(gettext 'Install new packages')" \ 1.52 +"remove" "$(gettext 'Remove installed packages')" \ 1.53 "clean" "$(gettext 'Clean-up packages cache')" \ 1.54 "quit" "$(gettext 'Exit Spk dialog')" 2>${tmp} 1.55 1.56 @@ -99,9 +129,13 @@ 1.57 list) 1.58 spk-ls --short && spk_read ;; 1.59 upgrade) 1.60 - spk-up && spk_read ;; 1.61 + clear && spk-up && spk_read ;; 1.62 + install) 1.63 + spk_add_box ;; 1.64 + remove) 1.65 + spk_rm_box ;; 1.66 clean) 1.67 - spk clean && spk_read ;; 1.68 + clear && spk clean && spk_read ;; 1.69 quit) 1.70 rm -rf ${tmpdir} && exit 0 ;; 1.71 esac
2.1 --- a/spk-find Sat Apr 05 08:23:59 2014 +0100 2.2 +++ b/spk-find Sun Apr 06 22:13:32 2014 +0200 2.3 @@ -15,8 +15,8 @@ 2.4 # 2.5 2.6 find="$1" 2.7 -count="/tmp/spk/count" 2.8 -mkdir -p $(dirname $count) 2.9 +cfile="/tmp/spk/count" 2.10 +mkdir -p $(dirname $cfile) 2.11 2.12 # 2.13 # Functions 2.14 @@ -27,7 +27,10 @@ 2.15 name=$(basename $0) 2.16 cat << EOT 2.17 2.18 -$(boldify $(gettext "Usage:")) $name [package] 2.19 +$(boldify $(gettext "Usage:")) $name [package|--options] 2.20 + 2.21 +$(boldify $(gettext "Options:")) 2.22 + --short $(gettext "Short packages list format") 2.23 2.24 EOT 2.25 exit 0 2.26 @@ -41,22 +44,32 @@ 2.27 boldify $(gettext "Spk find: $find") 2.28 separator 2.29 2.30 -IFS="|" 2.31 -grep "$find" $pkgsdesc | while read pkg vers desc null 2.32 -do 2.33 - echo "$pkg" >> $count 2.34 - echo -n "$pkg"; indent 16 "$desc" 2.35 -done 2.36 -unset IFS 2.37 +# --files or packages 2.38 +if [ "$files" ]; then 2.39 + type="Files" 2.40 + echo "TODO" 2.41 +else 2.42 + type="Packages" 2.43 + IFS="|" 2.44 + grep "$find" $pkgsdesc | while read pkg vers desc null 2.45 + do 2.46 + echo "$pkg" >> ${cfile} 2.47 + echo "$(colorize 34 $pkg)${vers# }" 2.48 + [ "$short" ] || echo " $desc" 2.49 + done 2.50 + unset IFS 2.51 +fi 2.52 2.53 -if [ -f "$count" ]; then 2.54 - count=$(cat $count | wc -l) 2.55 +# Sep and stats 2.56 +if [ -f "$cfile" ]; then 2.57 + count=$(cat $cfile | wc -l) 2.58 color=32 2.59 else 2.60 count=0 2.61 color=31 2.62 fi 2.63 separator 2.64 -boldify "Packages found: $(colorize $color $count)" && newline 2.65 -rm -rf $count 2.66 +boldify "$type found: $(colorize $color $count)" && newline 2.67 + 2.68 +rm -rf ${cfile} 2.69 exit 0