def do_loadpageurl(parser, token): """ Loads a page (through an HTTP URL accessible resource) in a variable {% lpu "url" "var" %} """ try: liste = token.split_contents() tag_name = liste[0] url = liste[1] var = liste[2] except: raise template.django.template.TemplateSyntaxError, "%r tag requires two arguments" % token.contents.split()[0] verifyQuotes( tag_name, (url,var) ) url, var = unquote( [url, var] ) return LoadPageURLNode( url, var )
def do_loadpage(parser, token): """ Loads a page in a variable {% lp "page" "var" %} """ try: liste = token.split_contents() tag_name = liste[0] page = liste[1] var = liste[2] except: raise template.django.template.TemplateSyntaxError, "%r tag requires two arguments" % token.contents.split()[0] verifyQuotes( tag_name, (page,var) ) page, var = unquote( [page, var] ) return LoadPageNode( page, var )
def do_include(parser, token): """ include {% i "page" "param1-value"... %} """ try: liste = token.split_contents() tag_name = liste[0] page = liste[1] params = liste[2:] except: raise template.django.template.TemplateSyntaxError, "%r tag requires at least 2 arguments" % token.contents.split()[0] verifyQuotes( tag_name, page ) verifyQuotes( tag_name, params ) return IncludeNode( page[1:-1], params )
def do_cond_include(parser, token): """ conditional include {% ci variable "page" "param1-value"... %} """ try: liste = token.split_contents() tag_name = liste[0] var = liste[1] page = liste[2] params = liste[3:] except: raise template.django.template.TemplateSyntaxError, "%r tag requires at least 3 arguments" % token.contents.split()[0] verifyQuotes( tag_name, page ) verifyQuotes( tag_name, params ) return CondIncludeNode( var, page[1:-1], params )
def do_anchor_image(parser, token): """ Anchor with Image {% ai2 "url" "title" "src" ["target"] %} """ _min = AnchorImageNode.numMinParams() _max = AnchorImageNode.numMaxParams() try: liste = token.split_contents() _num = len(liste) - 1 assert( (_num <= _max) and (_num >= _min) ) except: raise template.django.template.TemplateSyntaxError, "%r tag requires three arguments" % token.contents.split()[0] tag_name = liste.pop(0) verifyQuotes(tag_name, liste) uparams = unquote( liste ) return AnchorImageNode( uparams )
def do_anchor(parser, token): """ Anchor {% a "url" "text" ["target"] %} """ try: liste = token.split_contents() tag_name = liste[0] url = liste[1] text = liste[2] except: raise template.django.template.TemplateSyntaxError, "%r tag requires two or three arguments" % token.contents.split()[0] target = liste[3] if (len(liste)==4) else None if (target): verifyQuotes( tag_name, target ) verifyQuotes( tag_name, (url,text) ) url, text, target = unquote( [url, text, target] ) return AnchorNode( url, text, target )
{% varset "var-name" "var-value" %} Form #2: {% varset "var-name" %} value {% endvarset %} """ try: liste = token.split_contents() assert(len(liste)>=2) except Exception,e: logging.warn('varset: msg[%s]' % e) raise template.django.template.TemplateSyntaxError, "%r tag requires 2 or 3 arguments" % token.contents.split()[0] tag_name = liste[0] varName = liste[1] verifyQuotes( tag_name, varName ) if (len(liste) == 2): varValue = parser.parse(('endvarset',)) parser.delete_first_token() if (len(liste) == 3): varValue = liste[2] verifyQuotes( tag_name, varValue ) varValue = liste[2][1:-1] return VarSetNode( varName[1:-1], varValue ) class VarSetNode(template.django.template.Node): def __init__(self, key, value):