2

特定のFlaskアプリ(追加のパッケージが追加されているもの)が送信する可能性のあるすべてのシグナルのリストを取得することは可能ですか?(つまり、サブスクライブできますか?)

または、Flaskアプリ/ Flaskフレームワークは、シグナルが送信されるまでわかりませんか?

4

2 に答える 2

2

すべてのパッケージがインポート時にシグナルを作成すると仮定すると(そして、関心のあるすべてのパッケージをインポートしたと仮定すると)、blinker.signalを介して作成されたすべての名前付きシグナルを反復処理することでイントロスペクトできるはずです。 blinker.signalはのサブクラスでweakref.WeakValueDictionaryあるため、これを呼び出すだけkeysで、シグナルのすべての名前を取得できます。

from blinker import signal
# import everything else here

print sorted(signal.keys())

詳細については、を参照blinker.baseしてください。

于 2012-12-15T02:46:57.947 に答える