diff options
Diffstat (limited to 'pyload/plugins/base/Hook.py')
-rw-r--r-- | pyload/plugins/base/Hook.py | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/pyload/plugins/base/Hook.py b/pyload/plugins/base/Hook.py index 718802ad8..5cd528b7e 100644 --- a/pyload/plugins/base/Hook.py +++ b/pyload/plugins/base/Hook.py @@ -24,15 +24,16 @@ class Hook(Base): """ Base class for hook plugins. """ - __name__ = "Hook" - __type__ = "hook" - __version__ = "0.2" + __name__ = "Hook" + __type__ = "hook" + __version__ = "0.03" - __config__ = [("name", "type", "desc", "default")] + __config__ = [] #: [("name", "type", "desc", "default")] __description__ = """Interface for hook""" - __authors__ = [("mkaay", "mkaay@mkaay.de"), - ("RaNaN", "RaNaN@pyload.org")] + __license__ = "GPLv3" + __authors__ = [("mkaay", "mkaay@mkaay.de"), + ("RaNaN", "RaNaN@pyload.org")] #: automatically register event listeners for functions, attribute will be deleted dont use it yourself @@ -50,7 +51,7 @@ class Hook(Base): Base.__init__(self, core) #: Provide information in dict here, usable by API `getInfo` - self.info = None + self.info = {} #: Callback of periodical job task, used by AddonManager self.cb = None @@ -84,6 +85,7 @@ class Hook(Base): if self.interval >=1: self.cb = self.core.scheduler.addJob(0, self._periodical, threaded=False) + def _periodical(self): try: if self.isActivated(): self.periodical() @@ -98,14 +100,17 @@ class Hook(Base): def __repr__(self): return "<Hook %s>" % self.__name__ + def setup(self): """ more init stuff if needed """ pass + def unload(self): """ called when hook was deactivated """ pass + def isActivated(self): """ checks if hook is activated""" return self.config.getPlugin(self.__name__, "activated") @@ -115,36 +120,47 @@ class Hook(Base): def coreReady(self): pass + def coreExiting(self): pass + def downloadPreparing(self, pyfile): pass + def downloadFinished(self, pyfile): pass + def downloadFailed(self, pyfile): pass + def packageFinished(self, pypack): pass + def beforeReconnecting(self, ip): pass + def afterReconnecting(self, ip): pass + def periodical(self): pass + def newCaptchaTask(self, task): """ new captcha task for the plugin, it MUST set the handler and timeout or will be ignored """ pass + def captchaCorrect(self, task): pass + def captchaInvalid(self, task): pass |