summaryrefslogtreecommitdiff
path: root/contrib/importers/pwsafe2pass.sh
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/importers/pwsafe2pass.sh')
-rwxr-xr-xcontrib/importers/pwsafe2pass.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/importers/pwsafe2pass.sh b/contrib/importers/pwsafe2pass.sh
new file mode 100755
index 0000000..c29bb3f
--- /dev/null
+++ b/contrib/importers/pwsafe2pass.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# Copyright (C) 2013 Tom Hendrikx <tom@whyscream.net>. All Rights Reserved.
+# This file is licensed under the GPLv2+. Please see COPYING for more information.
+
+export=$1
+
+IFS=" " # tab character
+cat "$export" | while read uuid group name login passwd notes; do
+ test "$uuid" = "# passwordsafe version 2.0 database" && continue
+ test "$uuid" = "uuid" && continue
+ test "$name" = '""' && continue;
+
+ group="$(echo $group | cut -d'"' -f2)"
+ login="$(echo $login | cut -d'"' -f2)"
+ passwd="$(echo $passwd | cut -d'"' -f2)"
+ name="$(echo $name | cut -d'"' -f2)"
+
+ # cleanup
+ test "${name:0:4}" = "http" && name="$(echo $name | cut -d'/' -f3)"
+ test "${name:0:4}" = "www." && name="$(echo $name | cut -c 5-)"
+
+ entry=""
+ test -n "$login" && entry="${entry}login: $login\n"
+ test -n "$passwd" && entry="${entry}pass: $passwd\n"
+ test -n "$group" && entry="${entry}group: $group\n"
+
+ echo Adding entry for $name:
+ echo -e $entry | pass insert --multiline --force "$name"
+ test $? && echo "Added!"
+done