# HG changeset patch # User Christophe Lincoln # Date 1396815212 -7200 # Node ID aeb1c73f12f39c5b3df3c655fb8a0215b4478e98 # Parent 1ab690b993b4529408f6069268c0babf8d09807e Improve spk-dialog and spk-find diff -r 1ab690b993b4 -r aeb1c73f12f3 spk-dialog --- a/spk-dialog Sat Apr 05 08:23:59 2014 +0100 +++ b/spk-dialog Sun Apr 06 22:13:32 2014 +0200 @@ -55,7 +55,7 @@ dialog --title "$title" \ --msgbox "\nERROR: $file does not exist" 10 ${width} fi - # Handle options + # Handle buttons action case "$?" in 3) editor ${file} ;; esac @@ -71,6 +71,34 @@ --textbox "$out" ${height} ${width} } +# Add packages +spk_add_box() { + dialog \ + --title "{ Spk Add }" \ + --no-cancel \ + --ok-label "$(gettext 'Install')" \ + --inputbox "\n$(gettext 'Packages name you wich to install:')" \ + ${height} ${width} 2>${tmp} + pkgs=$(cat $tmp) + if [ "$pkgs" ]; then + clear && spk-add ${pkgs} && spk_read + fi +} + +# Remove packages +spk_rm_box() { + dialog \ + --title "{ Spk Remove }" \ + --no-cancel \ + --ok-label "$(gettext 'Remove')" \ + --inputbox "\n$(gettext 'Packages name you wich to remove:')" \ + ${height} ${width} 2>${tmp} + pkgs=$(cat $tmp) + if [ "$pkgs" ]; then + clear && spk-rm ${pkgs} && spk_read + fi +} + # Main Dialog menu main_box() { dialog \ @@ -82,6 +110,8 @@ "info" "$(gettext 'Packages information')" \ "list" "$(gettext 'List installed packages')" \ "upgrade" "$(gettext 'Upgrade installed packages')" \ +"install" "$(gettext 'Install new packages')" \ +"remove" "$(gettext 'Remove installed packages')" \ "clean" "$(gettext 'Clean-up packages cache')" \ "quit" "$(gettext 'Exit Spk dialog')" 2>${tmp} @@ -99,9 +129,13 @@ list) spk-ls --short && spk_read ;; upgrade) - spk-up && spk_read ;; + clear && spk-up && spk_read ;; + install) + spk_add_box ;; + remove) + spk_rm_box ;; clean) - spk clean && spk_read ;; + clear && spk clean && spk_read ;; quit) rm -rf ${tmpdir} && exit 0 ;; esac diff -r 1ab690b993b4 -r aeb1c73f12f3 spk-find --- a/spk-find Sat Apr 05 08:23:59 2014 +0100 +++ b/spk-find Sun Apr 06 22:13:32 2014 +0200 @@ -15,8 +15,8 @@ # find="$1" -count="/tmp/spk/count" -mkdir -p $(dirname $count) +cfile="/tmp/spk/count" +mkdir -p $(dirname $cfile) # # Functions @@ -27,7 +27,10 @@ name=$(basename $0) cat << EOT -$(boldify $(gettext "Usage:")) $name [package] +$(boldify $(gettext "Usage:")) $name [package|--options] + +$(boldify $(gettext "Options:")) + --short $(gettext "Short packages list format") EOT exit 0 @@ -41,22 +44,32 @@ boldify $(gettext "Spk find: $find") separator -IFS="|" -grep "$find" $pkgsdesc | while read pkg vers desc null -do - echo "$pkg" >> $count - echo -n "$pkg"; indent 16 "$desc" -done -unset IFS +# --files or packages +if [ "$files" ]; then + type="Files" + echo "TODO" +else + type="Packages" + IFS="|" + grep "$find" $pkgsdesc | while read pkg vers desc null + do + echo "$pkg" >> ${cfile} + echo "$(colorize 34 $pkg)${vers# }" + [ "$short" ] || echo " $desc" + done + unset IFS +fi -if [ -f "$count" ]; then - count=$(cat $count | wc -l) +# Sep and stats +if [ -f "$cfile" ]; then + count=$(cat $cfile | wc -l) color=32 else count=0 color=31 fi separator -boldify "Packages found: $(colorize $color $count)" && newline -rm -rf $count +boldify "$type found: $(colorize $color $count)" && newline + +rm -rf ${cfile} exit 0