summaryrefslogtreecommitdiff
path: root/contrib/importers/keepassx2pass.py
diff options
context:
space:
mode:
authorAndrew Spiers <andrew@andrewspiers.net>2014-06-22 23:09:56 +1000
committerJason A. Donenfeld <Jason@zx2c4.com>2014-06-29 01:45:54 +0200
commit4d53be77860a35db40bf616ef4c4b5d54dabb395 (patch)
tree17d8c6c6edf0d15d186e5234744e21c055f9c820 /contrib/importers/keepassx2pass.py
parent2817aeb73ad5086e92fb1bf5e3ba8bb6a4040cb6 (diff)
downloadpass-4d53be77860a35db40bf616ef4c4b5d54dabb395.tar.gz
pass-4d53be77860a35db40bf616ef4c4b5d54dabb395.tar.bz2
pass-4d53be77860a35db40bf616ef4c4b5d54dabb395.zip
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'
Diffstat (limited to '')
-rwxr-xr-xcontrib/importers/keepassx2pass.py5
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):
'>-3/+3 2020-04-19SELECT is not necessary for most operations -- skip itRené 'Necoro' Neumann2-12/+1 2020-04-19Store path as array -- the delimiter is not always '.'René 'Necoro' Neumann3-36/+44 2020-04-19Split client part to client.goRené 'Necoro' Neumann2-125/+137 2020-04-19IMAP: Create foldersRené 'Necoro' Neumann1-4/+38 2020-04-19Improved IMAPRené 'Necoro' Neumann1-3/+88 2020-04-19Started IMAP connectionRené 'Necoro' Neumann4-0/+152 2020-04-19Use our own logger for debug for convenience sakeRené 'Necoro' Neumann1-2/+3 2020-04-19Fix debug logging m(René 'Necoro' Neumann1-2/+2 2020-04-19Rename util.go to log.go. Add verbose modeRené 'Necoro' Neumann4-24/+54 2020-04-19Clean go.modRené 'Necoro' Neumann2-3/+0 2020-04-19Do not print the parsedCfg anymoreRené 'Necoro' Neumann1-1/+1 2020-04-19Increase go-version to 1.14René 'Necoro' Neumann1-2/+2 2020-04-19CI: go vetRené 'Necoro' Neumann1-0/+3 2020-04-19Fetching and parsing the feedsRené 'Necoro' Neumann5-4/+113 2020-04-19Ignore all config*.ymlRené 'Necoro' Neumann1-1/+1