&`dZdZ ddlmZdZn%#e$rGddZGddZYnwxYweZed Zd S) z Implements signals based on blinker if available, otherwise falls silently back to a noop. Shamelessly stolen from flask.signals: https://github.com/mitsuhiko/flask/blob/master/flask/signals.py F) NamespaceTceZdZddZdS)rNc"t||SN) _FakeSignalselfnamedocs 2/usr/lib/python3/dist-packages/oauthlib/signals.pysignalzNamespace.signal stS)) )r)__name__ __module__ __qualname__r rr rr s( * * * * * *rrc@eZdZdZddZdZdZexZxZxZ xZ xZ Z [dS)raIf 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. Nc"||_||_dSr)r __doc__rs r __init__z_FakeSignal.__init__sDIDLLLrc td)NzOsignalling support is unavailable because the blinker library is not installed.) RuntimeError)r argskwargss r _failz_FakeSignal._fails 011 1rcdSrr)akws r z_FakeSignal.srr) rrrrrrsendconnect disconnecthas_receivers_for receivers_fortemporarily_connected_to connected_torrr rrsr       1 1 1%$6; < <* <0 <= < $| EErrz scope-changedN) rsignals_availableblinkerr ImportErrorr_signalsr scope_changedrrr r,s !!!!!!******** 4 9;;00 s 11