summaryrefslogtreecommitdiffstats
path: root/module/plugins/Hook.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/Hook.py')
-rw-r--r--module/plugins/Hook.py56
1 files changed, 34 insertions, 22 deletions
diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py
index 279f813d1..5efd08bae 100644
--- a/module/plugins/Hook.py
+++ b/module/plugins/Hook.py
@@ -1,9 +1,26 @@
# -*- coding: utf-8 -*-
-from traceback import print_exc
+"""
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License,
+ or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+ @author: mkaay
+ @interface-version: 0.2
+"""
-from module.plugins.Plugin import Base
+from traceback import print_exc
+from Plugin import Base
class Expose(object):
""" used for decoration to declare rpc services """
@@ -12,26 +29,21 @@ class Expose(object):
hookManager.addRPC(f.__module__, f.func_name, f.func_doc)
return f
-
def threaded(f):
-
def run(*args,**kwargs):
hookManager.startThread(f, *args, **kwargs)
return run
-
class Hook(Base):
"""
Base class for hook plugins.
"""
__name__ = "Hook"
- __type__ = "hook"
__version__ = "0.2"
-
+ __type__ = "hook"
__threaded__ = []
- __config__ = [("name", "type", "desc", "default")]
-
- __description__ = """Interface for hook"""
+ __config__ = [ ("name", "type", "desc" , "default") ]
+ __description__ = """interface for hook"""
__author_name__ = ("mkaay", "RaNaN")
__author_mail__ = ("mkaay@mkaay.de", "RaNaN@pyload.org")
@@ -42,10 +54,10 @@ class Hook(Base):
#: List of events the plugin can handle, name the functions exactly like eventname.
event_list = None # dont make duplicate entries in event_map
+
#: periodic call interval in secondc
interval = 60
-
def __init__(self, core, manager):
Base.__init__(self, core)
@@ -96,7 +108,7 @@ class Hook(Base):
def __repr__(self):
return "<Hook %s>" % self.__name__
-
+
def setup(self):
""" more init stuff if needed """
pass
@@ -104,37 +116,37 @@ class Hook(Base):
def unload(self):
""" called when hook was deactivated """
pass
-
+
def isActivated(self):
""" checks if hook is activated"""
return self.config.getPlugin(self.__name__, "activated")
+
-
- #event methods - overwrite these if needed
+ #event methods - overwrite these if needed
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
@@ -146,4 +158,4 @@ class Hook(Base):
pass
def captchaInvalid(self, task):
- pass
+ pass \ No newline at end of file