我有一個應用程序使用我們的插件框架YAPSY。該程序指定一個默認的插件目錄,還允許用戶指定一個目錄,以及(保存在一個XML文件):Yapsy查看整個文件系統的插件
# 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(目錄)中提供的目錄列表。
任何想法爲什麼這會找到用戶的文件系統上的所有插件(無論他們指定了什麼插件目錄)?
謝謝
是的,這正是發生的情況。根據你認爲這種行爲有多糟,你可以隨意在yapsy的sourceforge tracker上註冊一個bug。我仍然在慢慢地,但肯定會不斷髮展。 –