Blob Blame Raw

from template.template import Template
from template.login import LoginTemplate
from template.usermenu import UsermenuTemplate
from template.errors import ErrorsTemplate


class CommonTemplate(Template):
  def __init__(self):
    super().__init__()
    self.login = LoginTemplate()
    self.usermenu = UsermenuTemplate()
    self.errors = ErrorsTemplate()
  
  def wrap(self, answer):
    return '''
      <html>
        <head>
          <title>%(title)s</title>
          <link rel="stylesheet" href="%(dataprefix)s/common.css" />
        </head>
        <body>
          <div class="header">
            <div id="logo"><a href="%(prefix)s/"><img src="%(dataprefix)s/logo.png" /></a></div>
            %(usermenu)s
          </div>
          %(errors)s
          <div class="content">
            %(content)s
          </div>
          <div class="footer">
            powered by magic
          </div>
        </body>
      </html>
      ''' % {
        'title'      : answer.title,
        'prefix'     : answer.urlprefix,
        'dataprefix' : answer.urldataprefix,
        'usermenu'   : (self.usermenu if answer.request.session else self.login).wrap(answer),
        'errors'     : self.errors.wrap(answer),
        'content'    : answer.content,
      }