summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
86ec72c)
The preprocessor hooks need to specify IDs different from the ID used to
initialise the proxy. Thus, the hook function now takes an optional id
keyword argument and uses the ID used during initialisation if none is
provided.
Signed-off-by: martin f. krafft <madduck@madduck.net>
- 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 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)])
def hook_proxy(*args):
# curpage = args[0]
# kwargs = dict([args[i:i+2] for i in xrange(1, len(args), 2)])
ret = IkiWikiProcedureProxy._IKIWIKI_NIL_SENTINEL
return ret
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):
self._xmlrpc_handler.register_function(hook_proxy, name=name)
def inject(self, rname, function, name=None, memoize=True):
def _importme(self):
self._debug_fn('importing...')
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)
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)