From 4d53be77860a35db40bf616ef4c4b5d54dabb395 Mon Sep 17 00:00:00 2001 From: Andrew Spiers Date: Sun, 22 Jun 2014 23:09:56 +1000 Subject: keepassx2pass: Substitute empty string for None If keepassx2pass.py is given an xml file containing passwords with an empty title, like , ElementTree.text returns None. This commit substitutes an empty string; which will produce a password with name '_', instead of raising AtttributeError, as shown in this exception:: Traceback (most recent call last): File "contrib/importers/keepassx2pass.py", line 80, in main(sys.argv[1]) File "contrib/importers/keepassx2pass.py", line 77, in main import_group(group) File "contrib/importers/keepassx2pass.py", line 71, in import_group import_entry(entry, npath) File "contrib/importers/keepassx2pass.py", line 58, in import_entry print "Importing " + path_for(element, path) File "contrib/importers/keepassx2pass.py", line 37, in path_for title = cleanTitle(space_to_camelcase(element.find('title').text)) File "contrib/importers/keepassx2pass.py", line 16, in space_to_camelcase for word in value.split(" "): AttributeError: 'NoneType' object has no attribute 'split' --- contrib/importers/keepassx2pass.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/importers/keepassx2pass.py b/contrib/importers/keepassx2pass.py index 532b8d0..5bcdcd2 100755 --- a/contrib/importers/keepassx2pass.py +++ b/contrib/importers/keepassx2pass.py @@ -34,7 +34,10 @@ def cleanTitle(title): def path_for(element, path=''): """ Generate path name from elements title and current path """ - title = cleanTitle(space_to_camelcase(element.find('title').text)) + title_text = element.find('title').text + if title_text is None: + title_text = '' + title = cleanTitle(space_to_camelcase(title_text)) return '/'.join([path, title]) def password_data(element): -- cgit v1.2.3