Soru Yapsy minimal örnek


Kullanarak en az çalışan bir örnek verebilir Yapsy eklenti çerçevesi?


19
2018-03-16 23:39


Menşei




Cevaplar:


İşte çok basit bir örnek. Üç dosya var:

  • plugins \ plugin1.py - eklenti. Bunun IPlugin'den miras alınan bir sınıfı içermesi gerekiyor.
  • plugins \ plugin1.yapsy-plugin - eklenti hakkında bilgi.
  • yapsy-example.py - ana komut dosyası. Bu sadece "eklentileri" dizininde bulabileceğiniz tüm eklentileri yükler ve çalıştıklarını kanıtlamak için bir yöntem çağırır.

Eklenti dizinine daha fazla eklenti ekleyebilirsiniz ve bu betik hepsini çevreleyecektir.

Başka bir karmaşık örnek daha var http://lateral.netmanagers.com.ar/weblog/posts/BB923.html (arşivlenmiş).

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()

eklentileri \ plugin1.py

from yapsy.IPlugin import IPlugin

class PluginOne(IPlugin):
    def print_name(self):
        print "This is plugin 1"

eklentileri \ plugin1.yapsy-eklentisi

[Core]
Name = Plugin 1
Module = plugin1

[Documentation]
Author = John Smith
Version = 0.1
Website = http://lotsofplugins.com
Description = My first plugin

43
2018-03-17 19:41



Bu örnek çalışıyor, ancak mesaj göstermiyor! - Sergio
Hmmm, bu eklentilerinizin bulunmadığını gösteriyor. Yapsy-example.py içeren dizinin eklentileri \ alt dizininde mi? Bu dizinden yapsy-example.py mi çalışıyorsunuz? - thomson_matt
Denemek için bir şey daha - yapsy-example.py (diğer ithalatlardan sonra) aşağıdakileri ekleyerek hata ayıklama günlüğünü açın: günlüğe kaydetme günlüğü logging.basicConfig (level = logging.DEBUG) Bu size yardımcı olacak bazı çıkış vermelidir Bunu hata ayıklamak için. - thomson_matt
Anladım from yapsy.IPlugin import IPlugin hat - Sergio
Bu güzel örnek için teşekkürler. Küçük örnek kodlarla güzel bir öğretici buldum: bağlantı - otterb