helpers.py
author Tero Marttila <terom@fixme.fi>
Mon, 16 Feb 2009 19:08:17 +0200
changeset 78 a46d2fc07951
parent 50 e4fbf480fbee
permissions -rw-r--r--
add test for tree_parse filesystem stuff
"""
    Helper functions for use in templates
"""

import time, cgi

from qmsk.web import config

class Helpers (object) :
    """
        A bunch of useful helper methods for use in templates
    """

    def _bind_ctx (self, ctx) :
        """
            Initialize with the given render context
        """

        self.ctx = ctx

    def now (self) :
        """
            Returns the current date/time
        """

        return time.strftime(config.DATETIME_FMT)

    def copyright_year (self) :
        """
            Returns the current year
        """

        return time.strftime("%Y")

    def validation_notice (self, site_host) :
        """
            Returns a short "Validated XHTML & CSS" link text for the given site hostname
        """

        return 'Validated <a href="http://validator.w3.org/check?uri=http://%(host)s">XHTML 1.0 Strict</a> &amp; <a href="http://jigsaw.w3.org/css-validator/validator?uri=http://%(host)s">CSS 2.1</a>' % dict(
            host = site_host
        )

    def breadcrumb (self, trail, links=True) :
        """
            Returns a nicely formatted breadcrumb tail, optinally with links
        """

        return ' &raquo; '.join(
            (
                '<a href="$site_url/%s">%s</a>' % (page.url, page.title) if links else page.title
            ) for page in trail
        )

    def escape (self, data) :
        """
            Escape data as HTML
        """

        return cgi.escape(data)