def show_node(num, name): """ Renders a page given it's entry id """ entry = None url = None editors = None if num < 0 and name: entry_db = EntryDB() try: entry = entry_db.find_by_URL(name)[0] except: abort(404) else: entry_db = EntryDB() entry = entry_db.find_by_id(num) if entry == None and url == None: abort(404) children = [] try: if entry is not None: es = entry_db.find_editors_by_entry(entry.id) if len(es) > 0: editors = es if entry.children: children.append(entry) children.extend(sorted(entry.children, key=lambda e: e.weight)) elif entry.parent_id is not None: te = entry_db.find_by_id(entry.parent_id) children.append(te) children.extend(sorted(te.children, key=lambda e: e.weight)) except: editors = None #import ipdb; ipdb.set_trace() return render_template('node.html', entry=entry, editors=editors, state=get_state(), children=children)