def list(): nodes = Menu.all() d = {} for node in nodes: d[node.path] = node keys = d.keys() sort_nicely( keys ) for key in keys: print key + ' ' + d[key].name
def debug_list(test='undef'): nodes = {} keys = [] for node in Menu.all(): nodes[node.path] = node nodes[node.get_key()] = node keys.append(node.path) sort_nicely(keys) for key in keys: logging.info(u'[%s] %-10s %5s (%-12s | %-20s)' % (test, key, nodes[key].name, u', '.join([nodes[n].name for n in nodes[key].siblings]), u' > '.join([nodes[n].name for n in nodes[key].ancestors])))
def get_key_to_path(cls): # build layout _map = {} _list = {} _result = [('Layout:None', '---')] for l in cls.all(): if l.path == '0': continue _map[l.get_key()] = l _list[l.path] = l keys = _list.keys() sort_nicely(keys) for k in keys: _result.append((unicode(_list[k]), '/'.join(map(lambda key: _map[key].name, _list[k].ancestors[1:]) +[_list[k].name]))) return _result