你正在阅读 Celery 3.1 的文档。开发版本文档见: 此处.

celery.security.utils 源代码

# -*- coding: utf-8 -*-
"""
    celery.security.utils
    ~~~~~~~~~~~~~~~~~~~~~

    Utilities used by the message signing serializer.

"""
from __future__ import absolute_import

import sys

from contextlib import contextmanager

from celery.exceptions import SecurityError

try:
    from OpenSSL import crypto
except ImportError:  # pragma: no cover
    crypto = None    # noqa


@contextmanager
[文档]def reraise_errors(msg='%r', errors=None): assert crypto is not None errors = (crypto.Error, ) if errors is None else errors try: yield except errors, exc: raise SecurityError, SecurityError(msg % (exc, )), sys.exc_info()[2]