#!/usr/bin/env python # -*- coding: utf-8 -*- """ MoinMoin monobook theme. Author: Antoine Durand-Gasselin """ import datetime from MoinMoin.theme import ThemeBase class Theme(ThemeBase): name = "crans" today = datetime.date.today() def wikipanel(self, d): """ Create wiki panel """ _ = self.request.getText html = [ u'
', u'

%s

' % _("Wiki"), self.navibar(d), u'
', ] return u'\n'.join(html) def pagepanel(self, d): """ Create page panel """ _ = self.request.getText if self.shouldShowEditbar(d['page']): html = [ u'
', u'

%s

' % _("Page"), self.editbar(d), u'
', ] return u'\n'.join(html) return '' def userpanel(self, d): """ Create user panel """ _ = self.request.getText html = [ u'
', u'

%s

' % _("User"), self.username(d), u'
' ] return u'\n'.join(html) def header(self, d): """ Assemble page header @param d: parameter dictionary @rtype: string @return: page header html """ _ = self.request.getText if self.today.month == 10 and self.today.day == 31: x_class = 'class="halloween"' elif self.today.month == 12 and self.today.day == 24: x_class = 'class="noel"' elif self.today.month == 4 and self.today.day ==1: x_class = 'class="april_fool"' else: x_class = '' html = [ # Custom html above header self.emit_custom_html(self.cfg.page_header1), u'
', u'

' % x_class, self.title(d), u'

', u'
', self.msg(d), self.startPage() ] return u'\n'.join(html) editorheader = header def footer(self, d, **keywords): """ Assemble wiki footer @param d: parameter dictionary @keyword ...:... @rtype: unicode @return: page footer html """ page = d['page'] html = [ self.pageinfo(page), self.endPage(), # Sidebar u'', # # Pre footer custom html (not recommended!) # self.emit_custom_html(self.cfg.page_footer1), # # # Footer # u'', # # # Post footer custom html # self.emit_custom_html(self.cfg.page_footer2), ] return u'\n'.join(html) def execute(request): """ Generate and return a theme object @param request: the request object @rtype: MoinTheme @return: Theme object """ return Theme(request)