<type 'exceptions.AttributeError'>: 'DirectoryAsHTML' object has no attribute 'dirnode_children_error'

/usr/lib/python2.5/site-packages/nevow/flat/twist.py, line 24 in _drive
22
    """
23
    try:
24
        next = iterable.next()
25
    except StopIteration:
Locals
iterable<generator object at 0x9737e6c>
/usr/lib/python2.5/site-packages/nevow/flat/ten.py, line 83 in iterflatten
81
    while rest:
82
        gen = rest.pop()
83
        for item in gen:
84
            if isinstance(item, str):
Locals
rest[<listiterator object at 0x97379ac>, <generator object at 0x9737aec>]
item<generator object at 0x9737fcc>
gen<generator object at 0x9737fcc>
/usr/lib/python2.5/site-packages/nevow/flat/flatstan.py, line 103 in TagSerializer
101
        # the specials won't be on the context twice.
102
        original._clearSpecials()
103
        yield serialize(toBeRenderedBy, context)
104
        return
Locals
toBeRenderedBydirective('try_children')
originalTag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n'])
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
Globals
serialize<function serialize at 0x8b57c34>
/usr/lib/python2.5/site-packages/nevow/flat/ten.py, line 70 in serialize
68
def serialize(obj, context):
69
    #warnings.warn('serialize is deprecated; it has been renamed partialflatten.', stacklevel=2)
70
    return partialflatten(context, obj)
71
Locals
objdirective('try_children')
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
Globals
serialize<function serialize at 0x8b57c34>
partialflatten<function partialflatten at 0x8b57bfc>
warnings<module 'warnings' from '/usr/lib/python2.5/warnings.pyc'>
/usr/lib/python2.5/site-packages/nevow/flat/ten.py, line 61 in partialflatten
59
    flattener = getFlattener(obj)
60
    if flattener is not None:
61
        return flattener(obj, context)
62
Locals
flattener<function DirectiveSerializer at 0x8e6bbc4>
objdirective('try_children')
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
Globals
getFlattener<function getFlattener at 0x8b57b8c>
/usr/lib/python2.5/site-packages/nevow/flat/flatstan.py, line 264 in DirectiveSerializer
262
    rendererFactory = context.locate(IRendererFactory)
263
    renderer = rendererFactory.renderer(context, original.name)
264
    return serialize(renderer, context)
265
Locals
rendererFactory<allmydata.web.directory.DirectoryAsHTML object at 0x97222cc>
renderer<bound method DirectoryAsHTML.render_try_children of <allmydata.web.directory.DirectoryAsHTML object at 0x97222cc>>
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
originaldirective('try_children')
Globals
serialize<function serialize at 0x8b57c34>
IRendererFactory<InterfaceClass nevow.inevow.IRendererFactory>
/usr/lib/python2.5/site-packages/nevow/flat/ten.py, line 70 in serialize
68
def serialize(obj, context):
69
    #warnings.warn('serialize is deprecated; it has been renamed partialflatten.', stacklevel=2)
70
    return partialflatten(context, obj)
71
Locals
obj<bound method DirectoryAsHTML.render_try_children of <allmydata.web.directory.DirectoryAsHTML object at 0x97222cc>>
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
Globals
serialize<function serialize at 0x8b57c34>
partialflatten<function partialflatten at 0x8b57bfc>
warnings<module 'warnings' from '/usr/lib/python2.5/warnings.pyc'>
/usr/lib/python2.5/site-packages/nevow/flat/ten.py, line 61 in partialflatten
59
    flattener = getFlattener(obj)
60
    if flattener is not None:
61
        return flattener(obj, context)
62
Locals
flattener<function MethodSerializer at 0x8e6bb54>
obj<bound method DirectoryAsHTML.render_try_children of <allmydata.web.directory.DirectoryAsHTML object at 0x97222cc>>
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
Globals
getFlattener<function getFlattener at 0x8b57b8c>
/usr/lib/python2.5/site-packages/nevow/flat/flatstan.py, line 247 in MethodSerializer
245
        code = getattr(func, 'func_code', None)
246
        return code is None or code.co_argcount == 2
247
    return FunctionSerializer(original, context, nocontext)
248
Locals
nocontext<function nocontext at 0x990ee9c>
original<bound method DirectoryAsHTML.render_try_children of <allmydata.web.directory.DirectoryAsHTML object at 0x97222cc>>
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
Globals
FunctionSerializer<function FunctionSerializer at 0x8e6bb1c>
/usr/lib/python2.5/site-packages/nevow/flat/flatstan.py, line 236 in FunctionSerializer
234
                    result = original(renderer, context, data)
235
                else:
236
                    result = original(context, data)
237
        except StopIteration:
Locals
dataNone
contextWovenContext(tag=Tag(u'div', children=['\n', WovenContext(tag=Tag(u'table', attributes={u'border': u'1'}, specials={'data': directive('children'), 'render': directive('sequence')}, children=['\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'header'}, children=['\n <td>Filename</td>\n <td>Type</td>\n <td>Size</td>\n <td>Times</td>\n <td></td>\n <td></td>\n <td></td>\n '])), '\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'item', 'render': directive('row')}, children=['\n <td>', _PrecompiledSlot(u'filename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'type', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'size', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'times', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'delete', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'rename', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n <td>', _PrecompiledSlot(u'info', isAttrib=False, inURL=False, inJS=False, inJSSingleQuoteString=False), '</td>\n '])), '\n\n ', WovenContext(tag=Tag(u'tr', specials={u'pattern': u'empty'}, children=['<td>directory is empty!</td>'])), '\n\n'])), '\n']))
original<bound method DirectoryAsHTML.render_try_children of <allmydata.web.directory.DirectoryAsHTML object at 0x97222cc>>
/usr/lib/python2.5/site-packages/allmydata/web/directory.py, line 557 in render_try_children
555
        else:
556
            return T.div[T.p["Error reading directory:"],
557
                         T.p[self.dirnode_children_error]]
558
Locals
self<allmydata.web.directory.DirectoryAsHTML object at 0x97222cc>
Globals
T<module 'nevow.tags' from '/usr/lib/python2.5/site-packages/nevow/tags.pyc'>

<type 'exceptions.AttributeError'>: 'DirectoryAsHTML' object has no attribute 'dirnode_children_error'