我有一个将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) 中提供的目录列表。
任何想法为什么会在用户的文件系统上找到所有插件(无论他们指定了什么插件目录)?
谢谢