import dominate from dominate.tags import * import os class HTML: def __init__(self, web_dir, title, reflesh=0, folder='images'): self.title = title self.web_dir = web_dir #self.img_dir = os.path.join(self.web_dir, 'images') self.img_dir = os.path.join(self.web_dir, folder) self.folder = folder if not os.path.exists(self.web_dir): os.makedirs(self.web_dir) if not os.path.exists(self.img_dir): os.makedirs(self.img_dir) # print(self.img_dir) self.doc = dominate.document(title=title) if reflesh > 0: with self.doc.head: meta(http_equiv="reflesh", content=str(reflesh)) def get_image_dir(self): return self.img_dir def add_header(self, str): with self.doc: h3(str) def add_table(self, border=1): self.t = table(border=border, style="table-layout: fixed;") self.doc.add(self.t) def add_images(self, ims, txts, links, width=400): self.add_table() with self.t: with tr(): for im, txt, link in zip(ims, txts, links): with td(style="word-wrap: break-word;", halign="center", valign="top"): with p(): with a(href=os.path.join('images', link)): #img(style="width:%dpx" % width, src=os.path.join('images', im)) img(style="width:%dpx" % width, src=os.path.join(self.folder, im)) br() p(txt) def save(self): #html_file = '%s/index.html' % self.web_dir html_file = '%s/index%s.html' % (self.web_dir, self.folder[6:]) f = open(html_file, 'wt') f.write(self.doc.render()) f.close() if __name__ == '__main__': html = HTML('web/', 'test_html') html.add_header('hello world') ims = [] txts = [] links = [] for n in range(4): ims.append('image_%d.png' % n) txts.append('text_%d' % n) links.append('image_%d.png' % n) html.add_images(ims, txts, links) html.save()