<%namespace name="os" module="os"/>
<html>
    <body>
        <p>
            The following has been generated by Hub Archive Creator:
        </p>
        <ul>
            ${print_tree(walkable_tree)}
        </ul>
    </body>
</html>

<%def name="print_tree(tree)">
    % if len(tree) == 0:
        ## We do nothing, we are called by a leaf
        ## If we are there, this is not normal though
        ## TODO: Manage the error
        return
    % else:
        % for vertex in tree:
            % if len(tree[vertex][0]) > 0:
                <li>
                    ${vertex}
                </li>
                <ul>
                    ${print_tree(tree[vertex][0])}
                </ul>
            % else:
                <li>
                    <a href="${tree[vertex][1]}">${vertex}</a>
                </li>
            % endif
        % endfor
    % endif
</%def>

<%doc>
    def recurse_print_tree(tree, level):
        if len(tree) == 0:
            return

        for vertex in tree:
            composite_name = vertex
            bullet_point = '<li><a href="{0}>{0}</a></li>'.format(composite_name)
            rval.append(bullet_point)
            # Parent, so need to create a sub <ul>
            if len(tree[vertex]) > 0:
                rval.append('<ul>')
                print_tree(tree[vertex], level+1)
                rval.append('</ul>')

</%doc>