diff options
author | Andrew Spiers <andrew@andrewspiers.net> | 2014-06-22 23:09:56 +1000 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2014-06-29 01:45:54 +0200 |
commit | 4d53be77860a35db40bf616ef4c4b5d54dabb395 (patch) | |
tree | 17d8c6c6edf0d15d186e5234744e21c055f9c820 | |
parent | 2817aeb73ad5086e92fb1bf5e3ba8bb6a4040cb6 (diff) |
keepassx2pass: Substitute empty string for None
If keepassx2pass.py is given an xml file containing passwords with an empty
title, like <title></title>, 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 <module>
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'
-rwxr-xr-x | contrib/importers/keepassx2pass.py | 5 |
1 files changed, 4 insertions, 1 deletions
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): |