_q_index() if an object isn't callable this is invoked_q_lookup() if an attribute isn't found this is invoked.Rather than add Python like syntax to HTML just let Python return HTML
def footer [html] ():
# Literals are appended to the output
'<p>Page generated at '
# Expressions are evaluated
time.strftime("%Y-%m-%d %H:%M", time.gmtime())
# Then back to literals
'</p>'