Recursive Folder Info (Python)

Recursive Folder Info (Python)
 1db = impact.active_database
 2
 3def DescribeFolder(folder):
 4    if not folder.isNone():
 5        impact.gui.output_toolbox.add("Name: " + folder.folder_name)
 6        impact.gui.output_toolbox.add("Desc: " + folder.description)
 7        impact.gui.output_toolbox.add("Path: " + folder.display_path)
 8        impact.gui.output_toolbox.add("OS Path: " + folder.folder_path)
 9        impact.gui.output_toolbox.add("Type: " + str(folder.type))
10        impact.gui.output_toolbox.add("Level: " + str(folder.level))
11        if not folder.parent.isNone():
12            impact.gui.output_toolbox.add("Parent: " + folder.parent.folder_name)
13        impact.gui.output_toolbox.add("impact.creator: " + folder.creator.login_id)
14        impact.gui.output_toolbox.add("AllowSave: " + str(folder.allow_save))
15        impact.gui.output_toolbox.add("Hidden: " + str(folder.hidden))
16        impact.gui.output_toolbox.add("ReadOnly: " + str(folder.read_only))
17        impact.gui.output_toolbox.add("folder Count: " + str(folder.folder_count))
18        impact.gui.output_toolbox.add("Item Count: " + str(folder.item_count))
19
20        for i in range(1, folder.children.count + 1):
21            DescribeFolder(folder.children.item(i))
22        # Alternative syntax
23        # for each child in folder.children
24        # DescribeFolder(child)
25        # next
26
27impact.gui.output_toolbox.clear()
28DescribeFolder(db.projects)