def IgnoreSignals(fn, *args, **kwargs):
  try:
    return fn(*args, **kwargs)
  except EnvironmentError, err:
    if err.errno == errno.EINTR:
      return None
    else:
      raise
  except (select.error, socket.error), err:
    # In python 2.6 and above select.error is an IOError, so it's handled
    # above, in 2.5 and below it's not, and it's handled here.
    if err.args and err.args[0] == errno.EINTR:
      return None
    else:
      raise
Get cipher object, and then you can invoke:
dataset/ETHPy150Open ganeti/ganeti/lib/utils/wrapper.py/IgnoreSignals--crossover with--dataset/ETHPy150Open limodou/uliweb/uliweb/contrib/secretkey/__init__.py/get_cipher