プラグインフレームワークにYAPSYを使用するアプリケーションがあります。プログラムはデフォルトのプラグインディレクトリを指定し、ユーザーがディレクトリ(XMLファイルに保存されている)も指定できるようにします。
# Get the default plugin directory, using XML
path = os.path.expanduser('~')
xml = xml_controller.Controller(path + '\.cxvrc.xml')
xml.load_file()
xml.get_plugin_directory()
directory = ["plugins", xml.get_plugin_directory()]
# Load the plugins from the default plugin directory.
manager = PluginManager()
manager.setPluginPlaces(directory)
manager.setPluginInfoExtension('plugin')
manager.collectPlugins()
これに伴う問題は、ファイルシステムのどこにいても、ユーザーのプラグインをロードしていることです。基本的に、XMLファイルクエリの結果の文字列を無視します。なぜこれができるのでしょうか?何の例
xml.get_plugin_directory()
戻り値は文字列です: "C:\ Documents and Settings\achilds"。collectPlugins()メソッドは、setPluginPlaces(directory)で提供したディレクトリのリストをチェックする必要があると思いました。
これがユーザーのファイルシステム上のすべてのプラグインを見つける理由はありますか(ユーザーが指定したプラグインディレクトリに関係なく)?
ありがとうございました