+@register.simple_tag
+def audiobook_tree(book_list, books_by_parent):
+ text = "".join("<li><a class='open-player' href='%s'>%s</a>%s</li>" % (
+ reverse("book_player", args=[book.slug]), book.title, audiobook_tree(books_by_parent.get(book, ()), books_by_parent)
+ ) for book in book_list)
+
+ if text:
+ return "<ol>%s</ol>" % text
+ else:
+ return ''
+