You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import typing as t
try: from blinker import Namespace
signals_available = True except ImportError: signals_available = False
class Namespace: # type: ignore def signal(self, name: str, doc: t.Optional[str] = None) -> "_FakeSignal": return _FakeSignal(name, doc)
class _FakeSignal: """If blinker is unavailable, create a fake class with the same
interface that allows sending of signals but will fail with an error on anything else. Instead of doing anything on send, it will just ignore the arguments and do nothing instead. """
def __init__(self, name: str, doc: t.Optional[str] = None) -> None: self.name = name self.__doc__ = doc
def send(self, *args: t.Any, **kwargs: t.Any) -> t.Any: pass
def _fail(self, *args: t.Any, **kwargs: t.Any) -> t.Any: raise RuntimeError( "Signalling support is unavailable because the blinker" " library is not installed." ) from None
connect = connect_via = connected_to = temporarily_connected_to = _fail disconnect = _fail has_receivers_for = receivers_for = _fail del _fail
# The namespace for code signals. If you are not Flask code, do # not put signals in here. Create your own namespace instead. _signals = Namespace()
# Core signals. For usage examples grep the source code or consult # the API documentation in docs/api.rst as well as docs/signals.rst template_rendered = _signals.signal("template-rendered") before_render_template = _signals.signal("before-render-template") request_started = _signals.signal("request-started") request_finished = _signals.signal("request-finished") request_tearing_down = _signals.signal("request-tearing-down") got_request_exception = _signals.signal("got-request-exception") appcontext_tearing_down = _signals.signal("appcontext-tearing-down") appcontext_pushed = _signals.signal("appcontext-pushed") appcontext_popped = _signals.signal("appcontext-popped") message_flashed = _signals.signal("message-flashed")
|