From a51d00b2e95d7dae4dc8d9adb8947d5f99898b8b Mon Sep 17 00:00:00 2001 From: Vincent Riquer Date: Mon, 13 May 2013 10:19:25 +0200 Subject: [PATCH] createindex --- toys/createindex | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/toys/createindex b/toys/createindex index d51a458..b2c15ac 100755 --- a/toys/createindex +++ b/toys/createindex @@ -35,7 +35,6 @@ declare -r \ oldIFS="$IFS" cffile="$HOME/.atom/atom.cfg" -LC_ALL=C shopt -s extglob @@ -110,18 +109,17 @@ openDatabase columns="${show[@]//*/-}" -if [[ "$output" == - ]] +if ! [[ "$output" == - ]] then - exec > >(column -x -c ${#show[@]}) -else - exec > >(column -x -c ${#show[@]} > "$output") + exec > "$output" fi printline() { + local print for index in ${!show[@]} do info="${show[index]}" - locallength="${length[index]}" + locallength="${length[index]:=50}" path="$olddir" case $info in 'bitrates') @@ -135,13 +133,14 @@ printline() { info="${!info}" ;; esac - if [ -n "$locallength" ] - then - echo "${info:0:$locallength}" - else - echo "$info" - fi + printtmp="${info:0:$locallength}" + until (( ${#printtmp} == locallength )) + do + printtmp+=' ' + done + print+=(${print+|} "$printtmp") done + echo "${print[@]}" } if (( update )) @@ -158,7 +157,7 @@ printDate() { for index in ${!show[@]} do info="${show[index]}" - locallength="${length[index]}" + locallength="${length[index]:=50}" case $info in albumartists) info="Album artist" ;; albums) info="Album" ;; @@ -176,18 +175,16 @@ do titles) info="Title" ;; years) info="Date" ;; esac - if [ -n "$locallength" ] - then - line+="${line+ -}${info:0:$locallength}" - else - line+="${line+ -}$info" - fi + printtmp="${info:0:$locallength}" + until (( ${#printtmp} == locallength )) + do + printtmp+=' ' + done + print+=(${print+|} "$printtmp") done -echo "$line" -#echo "${line//[^\n]/-}" -unset line +echo "${print[@]}" +echo "${print[@]//[^|]/=}" +unset print echo ' SELECT