def get_program_list():
    """
    get a HTML formatted view of all Python programs
    in all subfolders of AIKIF, including imports and
    lists of functions and classes
    """
    colList = ['FileName','FileSize','Functions', 'Imports']

    txt = '<TABLE width=90% border=0>'
    txt += format_file_table_header(colList)
    fl = web.GetFileList(aikif_folder, ['*.py'], 'N')
    for f in fl:
        if '__init__.py' in f:
            txt += '<TR><TD colspan=4><HR><H3>' + get_subfolder(f) + '</h3></td></tr>\n'
        else:
            txt += format_file_to_html_row(f, colList)
    txt += '</TABLE>\n\n'
    return txt