Может ли кто-нибудь предоставить минимальный рабочий пример с помощью рамки плагина Yapsy?
Минимальный пример Yapsy
Ответ 1
Вот очень простой пример. Он имеет три файла:
- плагины \plugin1.py - плагин. Это должно содержать класс, унаследованный от IPlugin.
- plugins\plugin1.yapsy-plugin - информация о плагине.
- yapsy-example.py - основной script. Это просто загружает все плагины, которые он может найти в каталоге "plugins", и вызывает на них метод, чтобы доказать, что они работают.
Вы можете добавить больше плагинов в каталог плагинов, и этот script будет окружать их все.
Еще один более сложный пример в 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()
Плагины \plugin1.py
from yapsy.IPlugin import IPlugin
class PluginOne(IPlugin):
def print_name(self):
print "This is plugin 1"
плагины\plugin1.yapsy-плагин
[Core]
Name = Plugin 1
Module = plugin1
[Documentation]
Author = John Smith
Version = 0.1
Website = http://lotsofplugins.com
Description = My first plugin