python - Yapsy 最小示例

标签 python plugins

谁能提供一个使用 Yapsy plugin framework 的最小工作示例? ?

最佳答案

这是一个非常简单的例子。它包含三个文件:

  • plugins\plugin1.py - 插件。这必须包含一个继承自 IPlugin 的类。
  • plugins\plugin1.yapsy-plugin - 关于插件的信息。
  • yapsy-example.py - 主脚本。这只是加载它可以在“plugins”目录中找到的所有插件,并在它们上调用一个方法来证明它们可以工作。

您可以在插件目录中添加更多插件,此脚本将围绕它们全部循环。

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

关于python - Yapsy 最小示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5333128/

相关文章:

templates - 使用字段模板的Grails字段插件问题

python - Scapy 如何获取 ping 时间?

python - python27 中的 ctypes 导入错误,段错误

python - 找到使每个字典在多个字典中唯一的键的最小数量

python - 更改 __new__ 中的参数不会传递到 __init__

css - 用于从网站中删除 css 类的 Chrome 插件

python - Tensorflow,预测值概率 (ROI)

c++ - 如何在插件系统中正确暴露 API?

eclipse - Eclipse 的 Struts 插件

javascript - 我怎样才能使 jQuery 循环容器的宽度与其下一张幻灯片的宽度相同?