diff options
| author | Donald Stufft <donald@stufft.io> | 2014-01-04 18:01:41 -0800 |
|---|---|---|
| committer | Donald Stufft <donald@stufft.io> | 2014-01-04 18:01:41 -0800 |
| commit | 86b7a8efdc3a7a95a472b00157e4372abd1c064b (patch) | |
| tree | 5ea00f7326f3fd05a73eb84cfc1001bab000e1fc /cryptography | |
| parent | d68fd37ec18c5adfa580d989730f7988d72d2bea (diff) | |
| parent | 02ed961c963f0d27fe23e9608223ccc8dd3be7f6 (diff) | |
| download | cryptography-86b7a8efdc3a7a95a472b00157e4372abd1c064b.tar.gz cryptography-86b7a8efdc3a7a95a472b00157e4372abd1c064b.tar.bz2 cryptography-86b7a8efdc3a7a95a472b00157e4372abd1c064b.zip | |
Merge pull request #404 from reaperhulk/commoncrypto-mark
Add mark to skip if binding is not available
Diffstat (limited to 'cryptography')
| -rw-r--r-- | cryptography/hazmat/bindings/openssl/binding.py | 8 | ||||
| -rw-r--r-- | cryptography/hazmat/bindings/utils.py | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/cryptography/hazmat/bindings/openssl/binding.py b/cryptography/hazmat/bindings/openssl/binding.py index 4f6b99ae..2a1e1184 100644 --- a/cryptography/hazmat/bindings/openssl/binding.py +++ b/cryptography/hazmat/bindings/openssl/binding.py @@ -13,7 +13,9 @@ from __future__ import absolute_import, division, print_function -from cryptography.hazmat.bindings.utils import build_ffi +from cryptography.hazmat.bindings.utils import ( + build_ffi, binding_available +) _OSX_PRE_INCLUDE = """ #ifdef __APPLE__ @@ -79,3 +81,7 @@ class Binding(object): cls.ffi, cls.lib = build_ffi(cls._module_prefix, cls._modules, _OSX_PRE_INCLUDE, _OSX_POST_INCLUDE, ["crypto", "ssl"]) + + @classmethod + def is_available(cls): + return binding_available(cls._ensure_ffi_initialized) diff --git a/cryptography/hazmat/bindings/utils.py b/cryptography/hazmat/bindings/utils.py index 9e1d3937..9141c155 100644 --- a/cryptography/hazmat/bindings/utils.py +++ b/cryptography/hazmat/bindings/utils.py @@ -86,3 +86,11 @@ def build_ffi(module_prefix, modules, pre_include, post_include, libraries): delattr(lib, name) return ffi, lib + + +def binding_available(initializer): + try: + initializer() + return True + except cffi.VerificationError: + return False |
