]> www.wagner.pp.ru Git - oss/ctypescrypto.git/blobdiff - ctypescrypto/engine.py
Converted tabs to spaces to make pylint happy
[oss/ctypescrypto.git] / ctypescrypto / engine.py
index 47f4878d72d9c542a5659002302d72375c46c5b5..0446d48c2649426fef33ba16ca10b19ae6b0c7d0 100644 (file)
@@ -1,27 +1,38 @@
+"""
+engine loading and configuration
+"""
 from ctypes import *
 from ctypescrypto import libcrypto
 from ctypescrypto.exception import LibCryptoError
+
+__all__=['default','set_default']
+
 default=None
 
 def set_default(engine):
-       global default
-       e=libcrypto.ENGINE_by_id(engine)
-       if e is None:
-               # Try load engine
-               e = libcrypto.ENGINE_by_id("dynamic")
-               if  e is None:
-                       raise LibCryptoError("Cannot get 'dynamic' engine")
-               if not libcrypto.ENGINE_ctrl_cmd_string(e,"SO_PATH",engine,0):
-                       raise LibCryptoError("Cannot execute ctrl cmd SO_PATH")
-               if not libcrypto.ENGINE_ctrl_cmd_string(e,"LOAD",None,0):
-                       raise LibCryptoError("Cannot execute ctrl cmd LOAD")
-       if e is None:
-               raise ValueError("Cannot find engine "+engine)
-       libcrypto.ENGINE_set_default(e,c_int(0xFFFF))
-       default=e
+    """
+        Loads specified engine and sets it as default for all 
+        algorithms, supported by it
+    """
+    global default
+    e=libcrypto.ENGINE_by_id(engine)
+    if e is None:
+        # Try load engine
+        e = libcrypto.ENGINE_by_id("dynamic")
+        if  e is None:
+            raise LibCryptoError("Cannot get 'dynamic' engine")
+        if not libcrypto.ENGINE_ctrl_cmd_string(e,"SO_PATH",engine,0):
+            raise LibCryptoError("Cannot execute ctrl cmd SO_PATH")
+        if not libcrypto.ENGINE_ctrl_cmd_string(e,"LOAD",None,0):
+            raise LibCryptoError("Cannot execute ctrl cmd LOAD")
+    if e is None:
+        raise ValueError("Cannot find engine "+engine)
+    libcrypto.ENGINE_set_default(e,c_int(0xFFFF))
+    default=e
 
 # Declare function result and arguments for used functions
 libcrypto.ENGINE_by_id.restype=c_void_p
 libcrypto.ENGINE_by_id.argtypes=(c_char_p,)
 libcrypto.ENGINE_set_default.argtypes=(c_void_p,c_int)
 libcrypto.ENGINE_ctrl_cmd_string.argtypes=(c_void_p,c_char_p,c_char_p,c_int)
+libcrypto.ENGINE_finish.argtypes=(c_char_p,)