Could you explain why not return view_name if I work with url
something like
http://0.0.0.0:6543/catalog/.
If I remove from my root resources object __getitem__ function - its
work fine.
class Resource(object):
def __init__(self, name=None, parent=None):
self.__name__ = name
self.__parent__ = parent
self.children = {}
def add_child(self, name, klass=None, **kw):
if klass is None:
child = Resource(name, self)
else:
child = klass(name, self, **kw)
self.children[name] = child
'''
def __getitem__(self, name):
return self.children[name]
'''
class Catalog(Resource):
pass
root = Resource('root')
root.add_child('catalog', Catalog)
As I understand it, this is the logic of work. How do I properly solve
this problem?
Code from traversal.py ResourceTreeTraverser class:
try:
getitem = ob.__getitem__
except AttributeError:
return {'context':ob,
'view_name':segment,
'subpath':vpath_tuple[i+1:],
'traversed':vpath_tuple[:vroot_idx+i+1],
'virtual_root':vroot,
'virtual_root_path':vroot_tuple,
'root':root}
try:
next = getitem(segment)
except KeyError:
return {'context':ob,
'view_name':segment,
'subpath':vpath_tuple[i+1:],
'traversed':vpath_tuple[:vroot_idx+i+1],
'virtual_root':vroot,
'virtual_root_path':vroot_tuple,
'root':root}