summaryrefslogtreecommitdiff
path: root/lib/keyringer/actions/append
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2013-11-14 18:39:49 -0200
committerSilvio Rhatto <rhatto@riseup.net>2013-11-14 18:39:49 -0200
commitf978a7fcc7917df39a64800838e814927971469e (patch)
treef896cbdf16d66610b9eb070d9e640090f3e9a2cc /lib/keyringer/actions/append
parent1b1197728cfd029deb46ebbe6ac0a70bcee58510 (diff)
parent9cd7165a5a63a5824a327920b428eeed8aec528e (diff)
downloadkeyringer-f978a7fcc7917df39a64800838e814927971469e.tar.gz
keyringer-f978a7fcc7917df39a64800838e814927971469e.tar.bz2
Imported Upstream version 0.2.7upstream_keyringer_0.2.7
Diffstat (limited to 'lib/keyringer/actions/append')
-rwxr-xr-xlib/keyringer/actions/append38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/keyringer/actions/append b/lib/keyringer/actions/append
new file mode 100755
index 0000000..e945bff
--- /dev/null
+++ b/lib/keyringer/actions/append
@@ -0,0 +1,38 @@
+#!/bin/bash
+#
+# Append information into encrypted files.
+#
+
+# Load functions
+LIB="`dirname $0`/../functions"
+source "$LIB" || exit 1
+
+# Get file
+keyringer_get_file "$2"
+
+OLDIFS="$IFS"
+IFS=$'\n'
+
+CONTENT=($(keyringer_exec decrypt "$BASEDIR" "$FILE"))
+
+if [ "$BASENAME" == "append" ]; then
+ # only display directions if we're running append, not append-batch
+ printf "\n%s currently has %d lines\n\n" "$FILE" "${#CONTENT[@]}"
+ printf "Now please write the content to be appended on %s, finnishing with Ctrl-D:\n" "$FILE"
+fi
+
+APPEND=($(cat -))
+
+NEW=( ${CONTENT[@]} ${APPEND[@]} )
+
+for element in $(seq 0 $((${#NEW[@]} - 1))); do
+ echo ${NEW[$element]}
+done | keyringer_exec encrypt-batch $BASEDIR $FILE
+
+err="$?"
+
+if [ "$err" != "0" ]; then
+ exit "$err"
+fi
+
+IFS="$OLDIFS"