私はPythonでクラス(プラグイン)のリストを持って、私は、フォルダからそれらを読んで、このように、リストのプラグインでそれらを格納します。その後、すべての選択クラス(プラグイン)
#Read all classes from plugin folder
plugnplay.plugin_dirs = ['./plugins']
plugnplay.load_plugins()
plugins = PluginAlerter.implementors()
私のクラスは、プラグインのリストに格納されて
exemple:
[<plugins.AddUserAlert.AddUserAlert object at 0x7f593d6d4e90>, <plugins.ElasticSearchDisponibilityAlert.ElasticSearchDisponibilityAlert object at 0x7f593d732210>]
私は私のリストにすべての単一のプラグインを実行し、魔法のように動作するようにデーモンを持って
for plugin in self.plugins:
#do the rest of code
は今、このリストで私は、exempleは、第1および第3の実行のために、時には私が欲しい、実行するexemple第二のプラグインのために選択した私はexemple第二のプラグインのために選択した場合、私のチョイス
から貴様のプラグインを選択しますこのエラーを返す:
#line to select the second plugin
plugins = plugins[1]
File "./Daemon.py", line 78, in __init__
for plugin in self.plugins:
TypeError: 'ElasticSearchDisponibilityAlert' object is not iterable
アドバイスやヒント?おかげ
回答ありがとうございます。bすべてのソリューションをあなたが与えないで、2番目の解決策は私に同じ正確なエラーを与える、私のプラグインにあなたのラインコードを置く最初のソリューションが、私はリグートを行う場合は知っているが、同じエラーを与える – Ricardo