iadd csv export - 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 93f007a2d82cf9b5dd1068a99f74f290385b7132 /scm/dossier/commit/93f007a2d82cf9b5dd1068a99f74f290385b7132.gph bitreich.org 70 1parent bce0d7478586d1b7c226b321a9d8be6cc56d9034 /scm/dossier/commit/bce0d7478586d1b7c226b321a9d8be6cc56d9034.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Sat, 14 Jul 2018 22:37:20 +0200 Err bitreich.org 70 i Err bitreich.org 70 iadd csv export Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M cdb | 60 +++++++++++++++++++++++++++---- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 53 insertions(+), 7 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/cdb b/cdb /scm/dossier/file/cdb.gph bitreich.org 70 i@@ -28,6 +28,43 @@ show() { Err bitreich.org 70 i fi Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+# export the data in csv format "data","data","data" Err bitreich.org 70 i+# we assume it'll works with the dataset Err bitreich.org 70 i+export_csv() { Err bitreich.org 70 i+ cd "${REPO}" Err bitreich.org 70 i+ IDS=$(find . -type f | cut -d '/' -f 3 | sort | uniq | paste -s -d '\x0' -) Err bitreich.org 70 i+ ATTRS=$(find . -type f | cut -d '/' -f 2 | sort | uniq | paste -s -d '\x0' -) Err bitreich.org 70 i+ Err bitreich.org 70 i+ OLDIFS=$IFS Err bitreich.org 70 i+ IFS=''\x0 Err bitreich.org 70 i+ Err bitreich.org 70 i+ # display header Err bitreich.org 70 i+ printf '"identifier",' Err bitreich.org 70 i+ for attr in $ATTRS Err bitreich.org 70 i+ do Err bitreich.org 70 i+ printf '"%s",' $attr Err bitreich.org 70 i+ done Err bitreich.org 70 i+ printf '\n' Err bitreich.org 70 i+ Err bitreich.org 70 i+ # print database Err bitreich.org 70 i+ for id in $IDS Err bitreich.org 70 i+ do Err bitreich.org 70 i+ printf '"%s",' "$id" Err bitreich.org 70 i+ for attr in $ATTRS Err bitreich.org 70 i+ do Err bitreich.org 70 i+ if [ -f "${attr}/${id}" ] Err bitreich.org 70 i+ then Err bitreich.org 70 i+ printf '"%s",' "$(cat "${attr}/${id}")" Err bitreich.org 70 i+ else Err bitreich.org 70 i+ printf '"",' Err bitreich.org 70 i+ fi Err bitreich.org 70 i+ done Err bitreich.org 70 i+ printf '\n' Err bitreich.org 70 i+ done Err bitreich.org 70 i+ IFS=$OLDIFS Err bitreich.org 70 i+ exit 0 Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i # delete identifier from attributes Err bitreich.org 70 i # $1 identifier Err bitreich.org 70 i delete() { Err bitreich.org 70 i@@ -37,6 +74,7 @@ delete() { Err bitreich.org 70 i if [ -f "${attribute}/${1}" ] Err bitreich.org 70 i then Err bitreich.org 70 i rm "${attribute}/${1}" Err bitreich.org 70 i+ rmdir "${attribute}" 2> /dev/null 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@@ -106,23 +144,31 @@ list() { Err bitreich.org 70 i usage() { Err bitreich.org 70 i printf '%s\n' \ Err bitreich.org 70 i "cdb help" \ Err bitreich.org 70 i+ "cdb export" \ Err bitreich.org 70 i "cdb show [identifier]" \ Err bitreich.org 70 i "cdb search [attribute [value]]" \ Err bitreich.org 70 i- "cdb identifier attribute value" Err bitreich.org 70 i+ "cdb identifier attribute value ... attribute value ..." Err bitreich.org 70 i exit 0 Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+if [ "$1" = "export" ] ; then export_csv ; fi Err bitreich.org 70 i if [ "$1" = "rm" ] && [ "$#" -eq 2 ] ; then delete "$2" ; fi Err bitreich.org 70 i-if [ "$1" = "help" ] ; then usage ; fi Err bitreich.org 70 i+if [ "$1" = "help" ] ; then usage ; fi Err bitreich.org 70 i Err bitreich.org 70 i # dealing with identifiers Err bitreich.org 70 i-if [ "$1" = "show" ] && [ "$#" -eq 1 ]; then show_list ; fi Err bitreich.org 70 i-if [ "$1" = "show" ] && [ "$#" -eq 2 ]; then show "$2" ; fi Err bitreich.org 70 i+if [ "$1" = "show" ] Err bitreich.org 70 i+then Err bitreich.org 70 i+ if [ "$#" -eq 1 ]; then show_list ; fi Err bitreich.org 70 i+ if [ "$#" -eq 2 ]; then show "$2" ; fi Err bitreich.org 70 i+fi Err bitreich.org 70 i Err bitreich.org 70 i # dealing with attributes Err bitreich.org 70 i-if [ "$1" = "search" ] && [ "$#" -eq 1 ]; then show_attributes ; fi Err bitreich.org 70 i-if [ "$1" = "search" ] && [ "$#" -eq 2 ]; then list "$2" ; fi Err bitreich.org 70 i-if [ "$1" = "search" ] && [ "$#" -eq 3 ]; then search_value "$2" "$3" ; fi Err bitreich.org 70 i+if [ "$1" = "search" ]; Err bitreich.org 70 i+then Err bitreich.org 70 i+ if [ "$#" -eq 1 ]; then show_attributes ; fi Err bitreich.org 70 i+ if [ "$#" -eq 2 ]; then list "$2" ; fi Err bitreich.org 70 i+ if [ "$#" -eq 3 ]; then search_value "$2" "$3" ; fi Err bitreich.org 70 i+fi Err bitreich.org 70 i Err bitreich.org 70 i if [ "$#" -ge 3 ]; then add_value "$@" ; fi Err bitreich.org 70 i Err bitreich.org 70 .