aboutsummaryrefslogtreecommitdiff
path: root/.local/bin/pass-import-csv
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/pass-import-csv')
-rwxr-xr-x.local/bin/pass-import-csv14
1 files changed, 14 insertions, 0 deletions
diff --git a/.local/bin/pass-import-csv b/.local/bin/pass-import-csv
new file mode 100755
index 0000000..7682657
--- /dev/null
+++ b/.local/bin/pass-import-csv
@@ -0,0 +1,14 @@
+#!/bin/sh -eu
+
+csv_file="$HOME/.cache/k.csv"
+import_directory="$HOME/.config/pass";
+target_directory="$import_directory/secrets";
+
+{ [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ] || [ "$#" = 0 ]; } && printf 'Usage: %s /path/to/keepassxc/database\n' "$(basename "$0")" && exit
+
+keepassxc-cli export --format csv "$1" > "$csv_file"
+rm --recursive --force "${import_directory:?}"/*;
+pass import "$csv_file";
+rsync --verbose --archive "$target_directory/" "$import_directory";
+rm --recursive "$target_directory";
+rm --verbose "$csv_file";