X-Git-Url: http://git.tremily.us/?p=ikiwiki.git;a=blobdiff_plain;f=plugins%2Fproxy.py;h=b4758b06059cc60ca5e33c257ad95cf9c2feea7a;hp=ea0ca96462c500e790b19dfb2d869eb803845e46;hb=17dc5df1f5d1068ea0d18bc0bd1c75dc9ebeb65a;hpb=86ec72c8260a377617b215e7f021778f7507e3fb 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)