4

我在 enigma2 中为 Dreambox 开发了插件。我用过这个东西

def Plugins(**kwargs):

    return PluginDescriptor(
           name="01loginscreendemo",
           description="loginScreenDemo ",
           where = PluginDescriptor.WHERE_PLUGINMENU,
           icon="../images.jpg",
           fnc=main)

所以它会在插件菜单上显示我的插件。

是否可以在启动时运行插件?如何?

4

2 回答 2

1
def autostart(reason, **kwargs):
         print "startup"



def Plugins(**kwargs):
    return [
        PluginDescriptor(
            where =  PluginDescriptor.WHERE_AUTOSTART,
            fnc = autostart),
        PluginDescriptor(
            name = "esprit 2",
            description = "Test Plugit 2",
            where = PluginDescriptor.WHERE_AUTOSTART,
            icon = "../ihad_tut.png",
            fnc = main)]
于 2014-01-29T08:48:31.000 回答
1
from Plugins.Plugin import PluginDescriptor

def autoStart(reason, **kwargs):                           # starts DURING the Enigma2 booting
    if reason == 0:    # and kwargs.has_key('session'):
        print('PLUGINSTARTDEBUGLOG - autoStart executed , reason == 0 , kwargs.has_key("session") = %s' % kwargs.has_key("session")  )
    if reason == 1:
        print('PLUGINSTARTDEBUGLOG - autoStart executed , reason == 1 , kwargs.has_key("session") = %s' % kwargs.has_key("session")  )

def mainStart(session, **kwargs):                          # starts when the plugin is opened via Plugin-MENU
    print('PLUGINSTARTDEBUGLOG - mainStart executed , kwargs.has_key("session") = %s' % kwargs.has_key("session")  )

def sessionStart(reason, session):                         # starts AFTER the Enigma2 booting
    if reason == 0:
        print('PLUGINSTARTDEBUGLOG - sessionStart executed, reason == 0')
    if reason == 1:
        print('PLUGINSTARTDEBUGLOG - sessionStart executed, reason == 1')

def Plugins(**kwargs):
    """ Register plugin in the plugin menu and prepare the plugin with autostart """
    return [
        PluginDescriptor(
            where = PluginDescriptor.WHERE_AUTOSTART,      # starts DURING the Enigma2 booting
            #where = [PluginDescriptor.WHERE_AUTOSTART , PluginDescriptor.WHERE_SESSIONSTART],
            fnc = autoStart),
        PluginDescriptor(
            where = PluginDescriptor.WHERE_SESSIONSTART,   # starts AFTER the Enigma2 booting
            fnc = sessionStart),
        PluginDescriptor(
            where = PluginDescriptor.WHERE_PLUGINMENU,     # starts when the plugin is opened via Plugin-MENU
            name = "picons updater",
            description = "picon updater for OE2.0",
            icon = "images/plugin.png",
            fnc = mainStart)
        ]
于 2019-02-07T15:25:11.363 回答