<div class="gmail_quote">On Sat, Jul 25, 2009 at 1:05 PM, Colin Alston <span dir="ltr">&lt;<a href="mailto:karnaugh@karnaugh.za.net">karnaugh@karnaugh.za.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div class="gmail_quote">2009/7/25 Siegmund Führinger <span dir="ltr">&lt;<a href="mailto:lists@0xx0.net" target="_blank">lists@0xx0.net</a>&gt;</span><div class="im"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><div></div><div>On Sat, Jul 25, 2009 at 10:06 AM, Colin Alston&lt;<a href="mailto:karnaugh@karnaugh.za.net" target="_blank">karnaugh@karnaugh.za.net</a>&gt; wrote:<br>
&gt; On Sat, Jul 25, 2009 at 9:04 AM, Michał Pasternak &lt;<a href="mailto:michal.dtz@gmail.com" target="_blank">michal.dtz@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; BTW, are there any URL dispatchers (like the one Django has) out there for<br>
&gt;&gt; Nevow?<br>
&gt;<br>
&gt; I really and truly hope not.<br>
<br>
</div></div>why not? urls are very important and using child_XXX methods is<br>
sometimes not very convinient.</blockquote></div><div><br>Convenience at the cost of maintainability is not worth it. <br></div></div></blockquote><div><br> FWIW, you can subclass your page objects to create more generic ways to deal with REST like arguments, as well as child page dispatch. <br>
<br>This is what I do in Enamel: <br><br><a href="http://open.thusa.co.za/enamel/browser/trunk/enamel/pages.py#L68">http://open.thusa.co.za/enamel/browser/trunk/enamel/pages.py#L68</a><br><a href="http://open.thusa.co.za/enamel/browser/trunk/enamel/pages.py#L47">http://open.thusa.co.za/enamel/browser/trunk/enamel/pages.py#L47</a><br>
<br>Then you can mix the page object appropriately and do something like <br><br>class FooPage(rend.Page):<br>    # Whatever...<br><br>class MyPage(pages.Standard):<br>    childPages = {<br>        &#39;Foo&#39; : FooPage<br>
    }<br><br>    arbitraryArguments = True<br><br>    def render_foo(self, c, d):<br>        return c.tag[<br>            &quot;You passed &quot;, self.arguments[0], &quot;instead of &#39;Foo&#39;&quot;<br>        ]<br><br>
HTH<br></div></div>