diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-08-03 19:31:52 +0100 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-08-03 19:31:52 +0100 |
commit | b66b67da40345296197227d98a33384d6b15b6ec (patch) | |
tree | c5a346e8e84c5f72c75bd5c937a2413b3e3c7f02 /src | |
parent | 3fb3dd205c45563f4e8d69a3594249ea155bbdbb (diff) | |
download | cryptography-b66b67da40345296197227d98a33384d6b15b6ec.tar.gz cryptography-b66b67da40345296197227d98a33384d6b15b6ec.tar.bz2 cryptography-b66b67da40345296197227d98a33384d6b15b6ec.zip |
only copy the attrs we know should exist (courtesy dstufft)
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/bindings/openssl/binding.py | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/cryptography/hazmat/bindings/openssl/binding.py b/src/cryptography/hazmat/bindings/openssl/binding.py index be3d6382..f9a6ba0f 100644 --- a/src/cryptography/hazmat/bindings/openssl/binding.py +++ b/src/cryptography/hazmat/bindings/openssl/binding.py @@ -26,14 +26,16 @@ def _osrandom_rand_status(): class _ConditionalLibrary(object): def __init__(self, lib, conditional_names): - for attr in dir(lib): - attrval = getattr(lib, attr) - setattr(self, attr, attrval) - + excluded_names = set() for condition, names in conditional_names.items(): - if not getattr(self, condition): - for name in names: - delattr(self, name) + if not getattr(lib, condition): + excluded_names |= set(names) + + for attr in dir(lib): + if attr in excluded_names: + continue + else: + setattr(self, attr, getattr(lib, attr)) class Binding(object): |