|
- import dominate
- from dominate.tags import *
- import os
-
-
- class HTML:
- def __init__(self, web_dir, title, reflesh=0):
- self.title = title
- self.web_dir = web_dir
- self.img_dir = os.path.join(self.web_dir, 'images')
- 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))
- br()
- p(txt)
-
- def save(self):
- html_file = '%s/index.html' % self.web_dir
- 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.jpg' % n)
- txts.append('text_%d' % n)
- links.append('image_%d.jpg' % n)
- html.add_images(ims, txts, links)
- html.save()
|