Build unordered list in HTML from a python list

N

Nico Grubert

Dear list members

I have this python list that represets a sitemap:

tree = [{'indent': 1, 'title':'Item 1', 'hassubfolder':False},
{'indent': 1, 'title':'Item 2', 'hassubfolder':False},
{'indent': 1, 'title':'Folder 1', 'hassubfolder':True},
{'indent': 2, 'title':'Sub Item 1.1', 'hassubfolder':False},
{'indent': 2, 'title':'Sub Item 1.2', 'hassubfolder':False},
{'indent': 1, 'title':'Item 3', 'hassubfolder':False},
{'indent': 1, 'title':'Folder 2', 'hassubfolder':True},
{'indent': 2, 'title':'Sub Item 2.1', 'hassubfolder':False},
{'indent': 2, 'title':'Folder 2.1', 'hassubfolder':True},
{'indent': 3, 'title':'Sub Item 2.1.1', 'hassubfolder':False},
{'indent': 3, 'title':'Sub Item 2.1.2', 'hassubfolder':False},
]

From that list I want to create the following HTML code:

<ul id="tree">
<li>Item 1</li>
<li>Item 2</li>
<li>Folder 1
<ul>
<li>Sub Item 1.1</li>
<li>Sub Item 1.2</li>
</ul>
</li>
<li>Item 3</li>
<li>Folder 2
<ul>
<li>Sub Item 2.1</li>
<li>Folder 2.1
<ul>
<li>Sub Item 2.1.1</li>
<li>Sub Item 2.1.2</li>
</ul>
</li>
</ul>
</li>
</ul>

If an item of the list has 'True' for the 'hassubfolder' key than a new
"<ul><li>" must be created instead of "</li>" after its title. (See
"Folder 2" node in the HTML code above.

My problem is: How do I keep track of the closing tags while iterating
over the python list?

Any help is much appreciated.

Regards
Nico
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,262
Messages
2,571,049
Members
48,769
Latest member
Clifft

Latest Threads

Top