Using nevow.guard the smart way
<ronwalf> ok, I give up... How do I get the AVATAR_LOGIN stuck
between the SessionWrapped resource ul and the current
resource url
Well, we aim to please.
def getActionURL(ctx):
request = inevow.IRequest(ctx)
current = url.URL.fromRequest(request).clear()
root = request.getRootURL()
root = url.URL.fromString(root)
assert root is not None
root = root.pathList()
me = current.pathList(copy=True)
diff = len(me) - len(root)
assert diff >= 0
action = current
if diff == 1:
action = action.curdir()
else:
while diff > 1:
diff -= 1
action = action.parent()
action = action.child(guard.LOGIN_AVATAR)
for element in me[len(root):]:
action = action.child(element)
return action
Comment from ronwalf (on IRC) on 2005-09-17T00:06:57:
<ronwalf> Better. after root = root.pathList()
<ronwalf> if root == ['']: root = []