Yapsy 最小示例
有没有人能给个简单的例子,展示一下怎么用Yapsy 插件框架?
1 个回答
46
这里有一个非常简单的例子。它包含三个文件:
- plugins\plugin1.py - 这是一个插件。这个文件里必须有一个类,它要继承自IPlugin。
- plugins\plugin1.yapsy-plugin - 这个文件里是关于插件的信息。
- yapsy-example.py - 这是主脚本。它会加载“plugins”目录下所有能找到的插件,并调用它们的方法来证明它们能正常工作。
你可以在插件目录中添加更多的插件,这个脚本会一个一个地处理它们。
如果你想看一个更复杂的例子,可以去这里看看:http://lateral.netmanagers.com.ar/weblog/posts/BB923.html (存档)。
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