aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/proxy.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/plugins/proxy.py b/plugins/proxy.py
index ea0ca9646..b4758b060 100644
--- a/plugins/proxy.py
+++ b/plugins/proxy.py
@@ -178,13 +178,16 @@ class IkiWikiProcedureProxy(object):
ret = None
return ret
- def hook(self, type, function, name=None, last=False):
+ def hook(self, type, function, name=None, id=None, last=False):
if self._imported:
raise IkiWikiProcedureProxy.AlreadyImported
if name is None:
name = function.__name__
+ if id is None:
+ id = self._id
+
def hook_proxy(*args):
# curpage = args[0]
# kwargs = dict([args[i:i+2] for i in xrange(1, len(args), 2)])
@@ -198,7 +201,7 @@ class IkiWikiProcedureProxy(object):
ret = IkiWikiProcedureProxy._IKIWIKI_NIL_SENTINEL
return ret
- self._hooks.append((type, name, last))
+ self._hooks.append((id, type, name, last))
self._xmlrpc_handler.register_function(hook_proxy, name=name)
def inject(self, rname, function, name=None, memoize=True):
@@ -258,9 +261,9 @@ class IkiWikiProcedureProxy(object):
def _importme(self):
self._debug_fn('importing...')
- for type, function, last in self._hooks:
- self._debug_fn('hooking %s into %s chain...' % (function, type))
- self.rpc('hook', id=self._id, type=type, call=function, last=last)
+ for id, type, function, last in self._hooks:
+ self._debug_fn('hooking %s/%s into %s chain...' % (id, function, type))
+ self.rpc('hook', id=id, type=type, call=function, last=last)
for rname, function, memoize in self._functions:
self._debug_fn('injecting %s as %s...' % (function, rname))
self.rpc('inject', name=rname, call=function, memoize=memoize)