【发布时间】:2011-03-16 23:39:40
【问题描述】:
谁能提供一个使用Yapsy plugin framework 的最小工作示例?
【问题讨论】:
谁能提供一个使用Yapsy plugin framework 的最小工作示例?
【问题讨论】:
这是一个非常简单的例子。它包含三个文件:
您可以将更多插件添加到插件目录,此脚本将围绕它们全部循环。
http://lateral.netmanagers.com.ar/weblog/posts/BB923.html (archived) 上还有另一个更复杂的示例。
yapsy-example.py
from yapsy.PluginManager import PluginManager
def main():
# Load the plugins from the plugin directory.
manager = PluginManager()
manager.setPluginPlaces(["plugins"])
manager.collectPlugins()
# Loop round the plugins and print their names.
for plugin in manager.getAllPlugins():
plugin.plugin_object.print_name()
if __name__ == "__main__":
main()
plugins\plugin1.py
from yapsy.IPlugin import IPlugin
class PluginOne(IPlugin):
def print_name(self):
print "This is plugin 1"
plugins\plugin1.yapsy-plugin
[Core]
Name = Plugin 1
Module = plugin1
[Documentation]
Author = John Smith
Version = 0.1
Website = http://lotsofplugins.com
Description = My first plugin
【讨论】:
from yapsy.IPlugin import IPlugin 行
activatePluginByName 的这个答案中没有看到提及,它出现在yapsy Getting Started docs 中。 activatePluginByName 是可选的还是只是缺少这个答案?