[Twisted-Python] viewStack breakage
dp at twistedmatrix.com
Thu Oct 31 11:44:56 EST 2002
If you look in the commit, you'll see a comment about this problem...
# This works for simple cases, unfortunately this widget
# appropriate mvc stack -- it only has itself
I'm going to have to copy the stack each time I create a widget and
store it in the widget so that later when a widget gets a modelChanged
notification, the correct stuff is on the stack. Doing this will also
help with Deferreds -- they'll run in to the same problem right now,
when the deferred fires they won't have the proper things on the stack.
I might get to this today, but I might not.
On Thursday, October 31, 2002, at 06:48 AM, Paul Boehm wrote:
> hey, thanks for fixing the caching bug that quickly!
> i think something else broke with your last few commits though:
> this debug output is from getNodeView for a GET request, with no
> working. i have a wvfactory_DetailLink in sam.web.serverlist.View,
> which the
> viewStack finds without problems:
> 31/10/2002 15:41 [*samclient*] [<twisted.web.woven.widgets.KeyedList
> instance at 0x83c17e4>, <twisted.web.woven.widgets.DefaultWidget
> instance at 0x83e6674>, <twisted.web.woven.widgets.DefaultWidget
> instance at 0x83e45ac>, <sam.web.serverlist.View instance at
> 0x83ae814>, <module 'twisted.web.woven.widgets' from
> now when i submit data to my controller, i get a different viewStack
> exceptions.NotImplementedError: You specified view name DetailLink on
> a node, but no factory_DetailLink method was found in
> [<twisted.web.woven.widgets.DefaultWidget instance at 0x840963c>,
> <twisted.web.woven.widgets.KeyedList instance at 0x83db2bc>, <module
> 'twisted.web.woven.widgets' from
> without sam.web.serverlist.View.
> the relevant xhtml snippet for this is:
> <ul model="root/inventory" view="KeyedList">
> <li id="emptyList">No Servers defined</li>
> <li id="keyedListItem">
> <a view="DetailLink" model="name">
> <span view="Text" model="name" /></a>
> root is a dictionary in my serverlist.Model, which has serverlist.View
> registered as View.
> inventory is a Dictionary like class, which has registered for a
> DictionaryModel Wrapper with components.
> as inventory is only a virtual model, imho the parent's view should
> propagate down to it's viewStack, which seems to work, unless a
> updates inventory.
> what's needed to fix this? do i need to make inventory and/or root
> a real model and register a view for it ?
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
More information about the Twisted-Python