summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal/misc.py
diff options
context:
space:
mode:
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 ""