iBetter handle if single argument item doesnt exist - dossier - console collection manager Err bitreich.org 70 1Log /scm/dossier/log.gph bitreich.org 70 1Files /scm/dossier/files.gph bitreich.org 70 1Refs /scm/dossier/refs.gph bitreich.org 70 1Tags /scm/dossier/tag bitreich.org 70 1README /scm/dossier/file/README.gph bitreich.org 70 1LICENSE /scm/dossier/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit af4d6f9504d0bc8395b6bbd5cafadadbbd526fa2 /scm/dossier/commit/af4d6f9504d0bc8395b6bbd5cafadadbbd526fa2.gph bitreich.org 70 1parent c56a8be32bc63cb4abe9d17312e308fa31e81bfd /scm/dossier/commit/c56a8be32bc63cb4abe9d17312e308fa31e81bfd.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Tue, 24 Jul 2018 10:46:08 +0200 Err bitreich.org 70 i Err bitreich.org 70 iBetter handle if single argument item doesnt exist Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M dossier | 39 ++++++++++++++++++------------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 23 insertions(+), 16 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/dossier b/dossier /scm/dossier/file/dossier.gph bitreich.org 70 i@@ -13,27 +13,34 @@ else Err bitreich.org 70 i printf 'No current collection in use\n' Err bitreich.org 70 i fi Err bitreich.org 70 i Err bitreich.org 70 i+# return if an item exists Err bitreich.org 70 i+# $1 identifier Err bitreich.org 70 i+exists() { Err bitreich.org 70 i+ cd "$REPO" Err bitreich.org 70 i+ ls */$1 >/dev/null 2>&1 Err bitreich.org 70 i+ return $? Err bitreich.org 70 i+} Err bitreich.org 70 i Err bitreich.org 70 i # displays the values of an identifier Err bitreich.org 70 i # $1 identifier Err bitreich.org 70 i show() { Err bitreich.org 70 i cd "${REPO}" Err bitreich.org 70 i- SEEN=0 Err bitreich.org 70 i- for attribute in * Err bitreich.org 70 i- do Err bitreich.org 70 i- if [ -f "${attribute}/${1}" ] Err bitreich.org 70 i- then Err bitreich.org 70 i- if [ "$SEEN" -eq 0 ] Err bitreich.org 70 i- then Err bitreich.org 70 i- printf "%s:\n" "$1" Err bitreich.org 70 i- SEEN=1 Err bitreich.org 70 i- fi Err bitreich.org 70 i- printf "%15s: %s\n" ${attribute} "$(cat "${attribute}/${1}")" Err bitreich.org 70 i- fi Err bitreich.org 70 i- done Err bitreich.org 70 i- if [ "$SEEN" -eq 1 ] Err bitreich.org 70 i+ if exists "$1" Err bitreich.org 70 i then Err bitreich.org 70 i- exit 0 Err bitreich.org 70 i+ SEEN=0 Err bitreich.org 70 i+ for attribute in * Err bitreich.org 70 i+ do Err bitreich.org 70 i+ if [ -f "${attribute}/${1}" ] Err bitreich.org 70 i+ then Err bitreich.org 70 i+ if [ "$SEEN" -eq 0 ] Err bitreich.org 70 i+ then Err bitreich.org 70 i+ printf "%s:\n" "$1" Err bitreich.org 70 i+ SEEN=1 Err bitreich.org 70 i+ fi Err bitreich.org 70 i+ printf "%15s: %s\n" ${attribute} "$(cat "${attribute}/${1}")" Err bitreich.org 70 i+ fi Err bitreich.org 70 i+ done Err bitreich.org 70 i+ exit 0 Err bitreich.org 70 i else Err bitreich.org 70 i printf '%s is not in the library.\n' "$1" Err bitreich.org 70 i exit 1 Err bitreich.org 70 i@@ -272,6 +279,6 @@ fi Err bitreich.org 70 i if [ "$#" -ge 3 ]; then add_value "$@" ; fi Err bitreich.org 70 i Err bitreich.org 70 i # no command, maybe it's an item, try it Err bitreich.org 70 i-if [ "$#" -eq 1 ]; then show "$1" ; fi Err bitreich.org 70 i+if [ "$#" -eq 1 ] && exists "$1" ; then show "$1" ; fi Err bitreich.org 70 i Err bitreich.org 70 i usage Err bitreich.org 70 .