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> & <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 ' » '.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)