summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-08-03 15:47:24 +0100
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-08-03 15:47:24 +0100
commit3133a6b6deac1196b6306bbd4fa1fec348ec5402 (patch)
treeb70b014f8605ef4291285dd4027e8e46a228108f
parent369a9c61a8247211cf1e59d324f26f7d8846e483 (diff)
downloadcryptography-3133a6b6deac1196b6306bbd4fa1fec348ec5402.tar.gz
move the attr setting to the __init__ of _ConditionalLibrary
-rw-r--r--src/cryptography/hazmat/bindings/openssl/binding.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/cryptography/hazmat/bindings/openssl/binding.py b/src/cryptography/hazmat/bindings/openssl/binding.py
index e509988ff..d7156523c 100644
--- a/src/cryptography/hazmat/bindings/openssl/binding.py
+++ b/src/cryptography/hazmat/bindings/openssl/binding.py
@@ -25,7 +25,15 @@ def _osrandom_rand_status():
class _ConditionalLibrary(object):
- pass
+ def __init__(self):
+ for attr in dir(lib):
+ attrval = getattr(lib, attr)
+ setattr(self, attr, attrval)
+
+ for condition, names in CONDITIONAL_NAMES.items():
+ if not getattr(self, condition):
+ for name in names:
+ delattr(self, name)
class Binding(object):
@@ -79,17 +87,7 @@ class Binding(object):
def _ensure_ffi_initialized(cls):
with cls._init_lock:
if not cls._lib_loaded:
- conditional_lib = _ConditionalLibrary()
- for attr in dir(lib):
- attrval = getattr(lib, attr)
- setattr(conditional_lib, attr, attrval)
-
- for condition, names in CONDITIONAL_NAMES.items():
- if not getattr(conditional_lib, condition):
- for name in names:
- delattr(conditional_lib, name)
-
- cls.lib = conditional_lib
+ cls.lib = _ConditionalLibrary()
cls._lib_loaded = True
cls._register_osrandom_engine()