summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal/misc.py
diff options
context:
space:
mode:
authorGravatar Nitzo <nitzo2001@yahoo.com> 2016-01-30 03:04:52 +0100
committerGravatar Nitzo <nitzo2001@yahoo.com> 2016-01-30 03:04:52 +0100
commitc6ba3ae11f9296108a297fc78ae68f3c8461a3da (patch)
treed2cec1679a3fad86c114867037ba29e5fd97d0c1 /module/plugins/internal/misc.py
parent[ClickNLoad] Fix false reporting of unclean shutdown on python 2.5 (diff)
downloadpyload-c6ba3ae11f9296108a297fc78ae68f3c8461a3da.tar.xz
[misc] Move `threaded`, `Expose` form Addon to misc
Diffstat (limited to 'module/plugins/internal/misc.py')
-rw-r--r--module/plugins/internal/misc.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/module/plugins/internal/misc.py b/module/plugins/internal/misc.py
index e62a7d6cd..6f3dd546e 100644
--- a/module/plugins/internal/misc.py
+++ b/module/plugins/internal/misc.py
@@ -38,7 +38,7 @@ except ImportError:
class misc(object):
__name__ = "misc"
__type__ = "plugin"
- __version__ = "0.25"
+ __version__ = "0.26"
__status__ = "stable"
__pattern__ = r'^unmatchable$'
@@ -123,6 +123,15 @@ class DB(object):
self.plugin.pyload.db.delStorage(self.plugin.classname, key)
+class Expose(object):
+ """
+ Used for decoration to declare rpc services
+ """
+ def __new__(cls, fn, *args, **kwargs):
+ hookManager.addRPC(fn.__module__, fn.func_name, fn.func_doc)
+ return fn
+
+
class Periodical(object):
def __init__(self, plugin, task=lambda x: x, interval=None):
@@ -231,6 +240,13 @@ def lock(fn):
return new
+def threaded(fn):
+ def run(*args, **kwargs):
+ hookManager.startThread(fn, *args, **kwargs)
+
+ return run
+
+
def format_time(value):
dt = datetime.datetime(1, 1, 1) + datetime.timedelta(seconds=abs(int(value)))
days = ("%d days and " % (dt.day - 1)) if dt.day > 1 else ""