def createPage(display, filename, title): page = {} page['title'] = title; page['blocks'] = [] display[filename] = page return page def appendBlockToPage(page, block): page['blocks'].append(block) def createTable(title, cols): table = {'type' : 'table', 'title' : title} table['cols'] = cols table['rows'] = [] def appendRowToTable(table, row): table['rows'].append(row) def buildPages(display): for filename in display.keys(): page = display[filename] with open(DISPLAY_ROOT + filename, 'w') as f: f.write('%s' % (page['title'])) for block in page['blocks']: if block['type'] == 'html': f.write(block['value']) elif block['type'] == 'table': f.write('') f.write('') for title in block['cols']: f.write('' % (title)) f.write('') for row in block['rows']: f.write('') for v in row: f.write('' % (v)) f.write('') f.write('
%s
%s
') f.write('')