be9b2e82 |
import xmlgen
class HTMLTemplate(object):
def __init__(self):
with xmlgen.Tag('html') as self.doc:
with self.doc.child('head') as self.head:
self.title = self.head.child('title')
self.body = self.doc.child('body')
def set_title(self, title):
self.title.text(title)
def add_script(self, src, type='text/javascript', async=False, defer=False):
script = self.head.child('script', src=src, type=type)
if async: script.attr('async', 'async')
if defer: script.attr('defer', 'defer')
return script
def add_stylesheet(self, src, type='text/css', media=None):
stylesheet = self.head.child('link', rel='stylesheet', type=type, href=src)
if media is not None:
stylesheet.attr('media', media)
def __enter__(self, *_, **__):
return self.body
def __exit__(self, *_, **__):
pass
def __str__(self):
return unicode(self.doc).encode('utf-8')
|