From 5060e4c6374a5116d0d8b02528f910f8c5f8bcf9 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 15 Jul 2014 16:25:41 +0200 Subject: Fix code indentation, some bad whitespaces and missing authors + use 'not' instead 'is None' + replace __pattern__'s r" with r' + other minor cosmetics --- module/plugins/Hook.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 6f5abffed..b9c7b832f 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -22,6 +22,7 @@ from traceback import print_exc from Plugin import Base + class Expose(object): """ used for decoration to declare rpc services """ @@ -29,11 +30,14 @@ 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. -- cgit v1.2.3 From ba916633f2bedb04c7358000b91aed69f52e8e43 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 1 Aug 2014 19:35:59 +0200 Subject: Remove trailing whitespaces + remove license headers + import urllib methods directly + sort and fix key attributes + use save_join instead join + sort some import declarations + other minor code cosmetics --- module/plugins/Hook.py | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index b9c7b832f..279f813d1 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -1,26 +1,8 @@ # -*- coding: utf-8 -*- -""" - 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 . - - @author: mkaay - @interface-version: 0.2 -""" - from traceback import print_exc -from Plugin import Base +from module.plugins.Plugin import Base class Expose(object): @@ -43,10 +25,12 @@ class Hook(Base): Base class for hook plugins. """ __name__ = "Hook" - __version__ = "0.2" __type__ = "hook" + __version__ = "0.2" + __threaded__ = [] __config__ = [("name", "type", "desc", "default")] + __description__ = """Interface for hook""" __author_name__ = ("mkaay", "RaNaN") __author_mail__ = ("mkaay@mkaay.de", "RaNaN@pyload.org") @@ -58,10 +42,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) @@ -126,7 +110,7 @@ class Hook(Base): return self.config.getPlugin(self.__name__, "activated") - #event methods - overwrite these if needed + #event methods - overwrite these if needed def coreReady(self): pass -- cgit v1.2.3 From b0868ae6446078bacf1635dde5e4ab316b4a94cb Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 7 Oct 2014 18:57:59 +0200 Subject: New __authors__ key replaces __author_name__ and __author_mail__ + Whitespaces and EOF fixup --- module/plugins/Hook.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 279f813d1..407328dc8 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -32,8 +32,9 @@ class Hook(Base): __config__ = [("name", "type", "desc", "default")] __description__ = """Interface for hook""" - __author_name__ = ("mkaay", "RaNaN") - __author_mail__ = ("mkaay@mkaay.de", "RaNaN@pyload.org") + __authors__ = [("mkaay", "mkaay@mkaay.de"), + ("RaNaN", "RaNaN@pyload.org")] + #: automatically register event listeners for functions, attribute will be deleted dont use it yourself event_map = None -- cgit v1.2.3 From ae7a7e66981456e5bbe2b54006d79b6f907be7a4 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 20:18:13 +0200 Subject: Add __license__ key attribute to plugins --- module/plugins/Hook.py | 1 + 1 file changed, 1 insertion(+) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 407328dc8..1e4749cd5 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -32,6 +32,7 @@ class Hook(Base): __config__ = [("name", "type", "desc", "default")] __description__ = """Interface for hook""" + __license__ = "GPLv3" __authors__ = [("mkaay", "mkaay@mkaay.de"), ("RaNaN", "RaNaN@pyload.org")] -- cgit v1.2.3 From 0eb6e7ec4a1144dcca824d8add049787d3da1762 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 22 Oct 2014 19:44:59 +0200 Subject: Two space before function declaration --- module/plugins/Hook.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 1e4749cd5..4d43b70f7 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -81,10 +81,12 @@ class Hook(Base): self.initPeriodical() self.setup() + def initPeriodical(self): if self.interval >=1: self.cb = self.core.scheduler.addJob(0, self._periodical, threaded=False) + def _periodical(self): try: if self.isActivated(): self.periodical() @@ -99,14 +101,17 @@ class Hook(Base): def __repr__(self): return "" % 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") @@ -116,36 +121,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 -- cgit v1.2.3 From 146fe1e309c33ab149bfaf58ad86c0dd4fb9b156 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 27 Oct 2014 01:18:45 +0100 Subject: Spare code cosmetics --- module/plugins/Hook.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 4d43b70f7..5710aae84 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -91,7 +91,7 @@ class Hook(Base): try: if self.isActivated(): self.periodical() except Exception, e: - self.core.log.error(_("Error executing hooks: %s") % str(e)) + self.core.log.error(_("Error executing hooks: ") + str(e)) if self.core.debug: print_exc() -- cgit v1.2.3 From aa0751bcfd995e308bcd586a6965c75e68b1274b Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 27 Oct 2014 23:05:13 +0100 Subject: Code cosmetics --- module/plugins/Hook.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 5710aae84..ede084c3a 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -24,17 +24,16 @@ class Hook(Base): """ Base class for hook plugins. """ - __name__ = "Hook" - __type__ = "hook" + __name__ = "Hook" + __type__ = "hook" __version__ = "0.2" - __threaded__ = [] - __config__ = [("name", "type", "desc", "default")] + __config__ = [] #: [("name", "type", "desc", "default")] __description__ = """Interface for hook""" - __license__ = "GPLv3" - __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 -- cgit v1.2.3 From 8e921a978e79d93da3036ce3bdc1fb176c74fabb Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Mon, 3 Nov 2014 12:09:04 +0100 Subject: Spare code cosmetics --- module/plugins/Hook.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index ede084c3a..18b54d8c0 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -26,7 +26,7 @@ class Hook(Base): """ __name__ = "Hook" __type__ = "hook" - __version__ = "0.2" + __version__ = "0.02" __config__ = [] #: [("name", "type", "desc", "default")] -- cgit v1.2.3 From 59f72bfc5ed721c80c821bd0ca1bc8daf0d49880 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sun, 9 Nov 2014 03:12:41 +0100 Subject: Code cosmetics --- module/plugins/Hook.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 18b54d8c0..424417752 100644 --- a/module/plugins/Hook.py +++ b/module/plugins/Hook.py @@ -26,7 +26,7 @@ class Hook(Base): """ __name__ = "Hook" __type__ = "hook" - __version__ = "0.02" + __version__ = "0.03" __config__ = [] #: [("name", "type", "desc", "default")] @@ -51,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 hookmanager self.cb = None -- cgit v1.2.3 From ef4bc4b73756565e40c7453f6b71bc1021735033 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 22 Nov 2014 19:38:25 +0100 Subject: Revert plugins to stable --- module/plugins/Hook.py | 87 ++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 46 deletions(-) (limited to 'module/plugins/Hook.py') diff --git a/module/plugins/Hook.py b/module/plugins/Hook.py index 424417752..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 . + + @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,29 +29,23 @@ 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.03" - - __config__ = [] #: [("name", "type", "desc", "default")] - - __description__ = """Interface for hook""" - __license__ = "GPLv3" - __authors__ = [("mkaay", "mkaay@mkaay.de"), - ("RaNaN", "RaNaN@pyload.org")] - + __name__ = "Hook" + __version__ = "0.2" + __type__ = "hook" + __threaded__ = [] + __config__ = [ ("name", "type", "desc" , "default") ] + __description__ = """interface for hook""" + __author_name__ = ("mkaay", "RaNaN") + __author_mail__ = ("mkaay@mkaay.de", "RaNaN@pyload.org") #: automatically register event listeners for functions, attribute will be deleted dont use it yourself event_map = None @@ -43,15 +54,15 @@ 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) #: Provide information in dict here, usable by API `getInfo` - self.info = {} + self.info = None #: Callback of periodical job task, used by hookmanager self.cb = None @@ -80,17 +91,15 @@ class Hook(Base): self.initPeriodical() self.setup() - def initPeriodical(self): if self.interval >=1: self.cb = self.core.scheduler.addJob(0, self._periodical, threaded=False) - def _periodical(self): try: if self.isActivated(): self.periodical() except Exception, e: - self.core.log.error(_("Error executing hooks: ") + str(e)) + self.core.log.error(_("Error executing hooks: %s") % str(e)) if self.core.debug: print_exc() @@ -99,68 +108,54 @@ class Hook(Base): def __repr__(self): return "" % 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") + - - #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 - 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 + pass \ No newline at end of file -- cgit v1.2.3