iAdd import from csv function - 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 c40faa46c5be77e015efa65ccc8d1a08995b6e33 /scm/dossier/commit/c40faa46c5be77e015efa65ccc8d1a08995b6e33.gph bitreich.org 70
1parent 5b178df77317dffde3e401fce4965076b96d6553 /scm/dossier/commit/5b178df77317dffde3e401fce4965076b96d6553.gph bitreich.org 70
hAuthor: Solene Rapenne <solene@perso.pw> URL:mailto:solene@perso.pw bitreich.org 70
iDate: Thu, 2 Aug 2018 16:22:00 +0200 Err bitreich.org 70
i Err bitreich.org 70
iAdd import from csv function Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M dossier | 30 ++++++++++++++++++++++++++++++ Err bitreich.org 70
i M dossier.1 | 9 ++++++++- Err bitreich.org 70
i Err bitreich.org 70
i2 files changed, 38 insertions(+), 1 deletion(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/dossier b/dossier /scm/dossier/file/dossier.gph bitreich.org 70
i@@ -58,6 +58,32 @@ show_attributes_values() { Err bitreich.org 70
i exit 0 Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i+# import data from a csv Err bitreich.org 70
i+# $1 is the file to import Err bitreich.org 70
i+import_csv() { Err bitreich.org 70
i+ awk -F "," '{ Err bitreich.org 70
i+ if(NR==1) { Err bitreich.org 70
i+ for(i=1;i<=NF;i=i+1) { Err bitreich.org 70
i+ headers[i] = $i Err bitreich.org 70
i+ } Err bitreich.org 70
i+ } else { Err bitreich.org 70
i+ out = $1; Err bitreich.org 70
i+ for(i=2;i<=NF;i=i+1) { Err bitreich.org 70
i+ if(! match($i,/^""$/) && $i !="") { Err bitreich.org 70
i+ out = out " "headers[i]" "$i; Err bitreich.org 70
i+ } Err bitreich.org 70
i+ } Err bitreich.org 70
i+ if(out==$1) { Err bitreich.org 70
i+ print "empty" Err bitreich.org 70
i+ } else { Err bitreich.org 70
i+ out=out "\n" Err bitreich.org 70
i+ print out Err bitreich.org 70
i+ system("dossier "out) Err bitreich.org 70
i+ } Err bitreich.org 70
i+ } Err bitreich.org 70
i+ }' "$1" 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@@ -218,6 +244,9 @@ usage() { Err bitreich.org 70
i "Export data as CSV" \ Err bitreich.org 70
i ": dossier export" \ Err bitreich.org 70
i "" \ Err bitreich.org 70
i+ "Import data from CSV" \ Err bitreich.org 70
i+ ": dossier import file.csv" \ Err bitreich.org 70
i+ "" \ Err bitreich.org 70
i "Show collections, register collections, switch current collection" \ Err bitreich.org 70
i ": dossier collections [register path name] [name]" \ Err bitreich.org 70
i "" \ Err bitreich.org 70
i@@ -268,6 +297,7 @@ register() { Err bitreich.org 70
i fi Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i+if [ "$1" = "import" ] && [ -f "${OLDPWD}/${2}" ]; then import_csv "${OLDPWD}/${2}" ; fi 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
1diff --git a/dossier.1 b/dossier.1 /scm/dossier/file/dossier.1.gph bitreich.org 70
i@@ -6,7 +6,7 @@ Err bitreich.org 70
i .Nd a console collection manager Err bitreich.org 70
i .Sh SYNOPSIS Err bitreich.org 70
i .Nm Err bitreich.org 70
i-.Op Cm show | Cm help | Cm export | Cm collections | Cm rm | Cm search | Ar item Op attribute value Err bitreich.org 70
i+.Op Cm show | Cm import Ar file | Cm help | Cm export | Cm collections | Cm rm | Cm search | Ar item Op attribute value Err bitreich.org 70
i .Sh DESCRIPTION Err bitreich.org 70
i .Pp Err bitreich.org 70
i .Nm Err bitreich.org 70
i@@ -37,6 +37,13 @@ Remove item Err bitreich.org 70
i from the collection. Err bitreich.org 70
i .It Nm Cm export Err bitreich.org 70
i Export the data of the current collection as CSV (Comma Separated Values). Err bitreich.org 70
i+.It Nm Cm import Ar file Err bitreich.org 70
i+Import the data from Err bitreich.org 70
i+.Ar file Err bitreich.org 70
i+using the exact same format as the export (no newline in a field, fields name in Err bitreich.org 70
i+the first line, values with spaces should be quoted). This is very useful for a Err bitreich.org 70
i+batch import or if you want to export the data to a spreadsheet tool to Err bitreich.org 70
i+manipulate the values and then importing back. Err bitreich.org 70
i .It Nm Cm collections Oo collection Oc | Oo register Pa full-path Ar collection-name Oc Err bitreich.org 70
i the command Err bitreich.org 70
i .Cm collections Err bitreich.org 70
.
Response:
text/plain