def _make_requires(flag, error):
 def _requires_decorator(func):
  if (not flag):
   @wraps(func)
   def explode(*args, **kwargs):
    raise NotImplementedError(error)
   return explode
  else:
   return func
 return _requires_decorator

def _make_requires ( flag , error ) : def _requires_decorator ( func ) : if ( not flag ) : @ wraps ( func ) def explode ( * args , ** kwargs ) : raise NotImplementedError ( error ) return explode else : return func return _requires_decorator
builds a decorator that ensures that functions that rely on openssl functions that are not present in this build raise notimplementederror .