summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Collins <elic@assurancetechnologies.com>2016-11-20 14:35:30 -0500
committerEli Collins <elic@assurancetechnologies.com>2016-11-20 14:35:30 -0500
commit04567c30ea236b9c4017d096cf5b9017e1549c32 (patch)
treec067ed32e8cdc3ce7ab6d02897296c931d60e1c7
parentfb55b9de6cbb88e0fe13bd60570f80ee2d1d3f89 (diff)
downloadpasslib-04567c30ea236b9c4017d096cf5b9017e1549c32.tar.gz
bugfix: passlib.pwd: catch TypeError under pypy
-rw-r--r--passlib/pwd.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/passlib/pwd.py b/passlib/pwd.py
index 580acd3..1410817 100644
--- a/passlib/pwd.py
+++ b/passlib/pwd.py
@@ -144,7 +144,12 @@ def _ensure_unique(source, param="source"):
# check if it has dup elements
if isinstance(source, _set_types) or len(set(source)) == len(source):
if hashable:
- cache.add(source)
+ try:
+ cache.add(source)
+ except TypeError:
+ # XXX: under pypy, "list() in set()" above doesn't throw TypeError,
+ # but trying to add unhashable it to a set *does*.
+ pass
return True
# build list of duplicate values