helpers.py
author Tero Marttila <terom@fixme.fi>
Mon, 09 Feb 2009 05:44:12 +0200
changeset 51 a1da82870a6b
parent 50 e4fbf480fbee
permissions -rw-r--r--
implement better handling of generated URLs with default values, and let default values in urls be overriden by query arguments
"""
    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)