Fixed #83 blackbox_edit* scripts should accept multiple filenames

This commit is contained in:
tlimoncelli@stackexchange.com
2015-07-24 09:57:34 -04:00
parent 23cc07d1e3
commit 1f2d99436d
3 changed files with 40 additions and 18 deletions

View File

@@ -7,20 +7,27 @@ set -e
source "${0%/*}/_blackbox_common.sh" source "${0%/*}/_blackbox_common.sh"
for param in "$@" ; do for param in "$@" ; do
unencrypted_file=$(get_unencrypted_filename "$param") unencrypted_file=$(get_unencrypted_filename "$param")
if ! is_on_cryptlist "$param" && ! is_on_cryptlist "$unencrypted_file" ; then encrypted_file=$(get_encrypted_filename "$param")
echo >&2 ========== PLAINFILE '"'$unencrypted_file'"'
echo >&2 ========== ENCRYPTED '"'$encrypted_file'"'
if ! is_on_cryptlist "$encrypted_file" && ! is_on_cryptlist "$unencrypted_file" ; then
read -r -p "Encrypt file $param? (y/n) " ans read -r -p "Encrypt file $param? (y/n) " ans
case "$ans" in case "$ans" in
y* | Y*) y* | Y*)
"${BLACKBOX_HOME}/blackbox_register_new_file" "$param" "${BLACKBOX_HOME}/blackbox_register_new_file" "$unencrypted_file"
;; ;;
*) *)
echo 'Skipping...' echo >&2 'Skipping...'
continue continue
;; ;;
esac esac
fi fi
"${BLACKBOX_HOME}/blackbox_edit_start" "$param" "${BLACKBOX_HOME}/blackbox_edit_start" "$unencrypted_file"
"$EDITOR" "$(get_unencrypted_filename "$param")" "$EDITOR" "$(get_unencrypted_filename "$unencrypted_file")"
"${BLACKBOX_HOME}/blackbox_edit_end" "$param" "${BLACKBOX_HOME}/blackbox_edit_end" "$unencrypted_file"
done done

View File

@@ -7,18 +7,29 @@
set -e set -e
source "${0%/*}/_blackbox_common.sh" source "${0%/*}/_blackbox_common.sh"
unencrypted_file=$(get_unencrypted_filename "$1") next_steps=()
encrypted_file=$(get_encrypted_filename "$1")
echo ========== PLAINFILE '"'$unencrypted_file'"'
echo ========== ENCRYPTED '"'$encrypted_file'"'
fail_if_not_on_cryptlist "$unencrypted_file" for param in "$@" ; do
fail_if_not_exists "$unencrypted_file" "No unencrypted version to encrypt!"
fail_if_keychain_has_secrets
encrypt_file "$unencrypted_file" "$encrypted_file" unencrypted_file=$(get_unencrypted_filename "$param")
shred_file "$unencrypted_file" encrypted_file=$(get_encrypted_filename "$param")
echo ========== UPDATED '"'$encrypted_file'"' echo >&2 ========== PLAINFILE '"'$unencrypted_file'"'
echo "Likely next step:" echo >&2 ========== ENCRYPTED '"'$encrypted_file'"'
echo " $VCS_TYPE commit -m\"${encrypted_file} updated\" \"$encrypted_file\""
fail_if_not_on_cryptlist "$unencrypted_file"
fail_if_not_exists "$unencrypted_file" "No unencrypted version to encrypt!"
fail_if_keychain_has_secrets
encrypt_file "$unencrypted_file" "$encrypted_file"
shred_file "$unencrypted_file"
echo >&2 ========== UPDATED '"'$encrypted_file'"'
next_steps+=( " $VCS_TYPE commit -m\"${encrypted_file} updated\" \"$encrypted_file\"" )
done
echo >&2 "Likely next step:"
for x in "${next_steps[@]}"
do
echo >&2 "$x"
done

View File

@@ -8,8 +8,10 @@ set -e
source "${0%/*}/_blackbox_common.sh" source "${0%/*}/_blackbox_common.sh"
for param in "$@" ; do for param in "$@" ; do
unencrypted_file=$(get_unencrypted_filename "$param") unencrypted_file=$(get_unencrypted_filename "$param")
encrypted_file=$(get_encrypted_filename "$param") encrypted_file=$(get_encrypted_filename "$param")
echo >&2 ========== PLAINFILE '"'$unencrypted_file'"' echo >&2 ========== PLAINFILE '"'$unencrypted_file'"'
fail_if_not_on_cryptlist "$unencrypted_file" fail_if_not_on_cryptlist "$unencrypted_file"
@@ -23,5 +25,7 @@ for param in "$@" ; do
fi fi
prepare_keychain prepare_keychain
# FIXME(tlim): prepare_keychain only needs to run once, outside of the loop.
decrypt_file "$encrypted_file" "$unencrypted_file" decrypt_file "$encrypted_file" "$unencrypted_file"
done done