<div dir="ltr">Hey, great project! I was frustrated with the two password managers I've been using. I thought about how I'd like a password manager to be designed, which involved small gpg-encrypted documents backed by git. I'm glad I found your project before I launched into a new, unnecessary implementation.<div>
<br></div><div>The contrib script for importing from keepass was skipping all my entries, which are stored at the Keepass root level. The patch below fixed it.</div><div><br></div><div>Repro steps:</div><div>1. In KeePass, add some entries as children of the root node</div>
<div>2. Export the KeePass to foo.xml</div><div>3. 'keepass2pass.py -f foo.xml'</div><div>Expect: all entries imported</div><div>Actual: root-level entries are skipped<br><div><br></div><div><div>diff --git a/contrib/keepass2pass.py b/contrib/keepass2pass.py</div>
<div>index 16764bd..80a2ad9 100755</div><div>--- a/contrib/keepass2pass.py</div><div>+++ b/contrib/keepass2pass.py</div><div>@@ -90,6 +90,7 @@ def import_passwords(xml_file, root_path=None):</div><div> xml_tree = ElementTree.XML(text)</div>
<div> root = xml_tree.find('Root')</div><div> root_group = root.find('Group')</div><div>+ import_group(entries,root_group,'')</div><div> if root_path is None: root_path = root_group.find('Name').text</div>
<div> groups = root_group.findall('Group')</div><div> for group in groups:</div></div><div><br></div></div><div>Thanks, and keep it up!</div><div><br></div><div>Erik</div></div>