Ñò žòœMc@sÄdZddklZlZlZlZddkZdefd„ƒYZdefd„ƒYZ defd „ƒYZ d efd „ƒYZ d efd „ƒYZ defd„ƒYZ defd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd efd!„ƒYZd"efd#„ƒYZd$efd%„ƒYZd&efd'„ƒYZdS((s5defines the parse tree components for Mako templates.iÿÿÿÿ(t exceptionstasttutiltfiltersNtNodecBs8eZdZd„Zed„ƒZd„Zd„ZRS(s(base class for a Node in the parse tree.cCs(||_||_||_||_dS(N(tsourcetlinenotpostfilename(tselfRRRR((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyt__init__s   cCs,h|id6|id6|id6|id6S(NRRRR(RRRR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pytexception_kwargsscCsgS(N((R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyt get_childrenscs9‡fd†}tˆd|ii|ƒ}||ƒdS(Ncs(x!|iƒD]}|iˆƒq WdS(N(R taccept_visitor(tnodetn(tvisitor(s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyttraverses tvisit(tgetattrt __class__t__name__(R RRtmethod((Rs4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR s(Rt __module__t__doc__R tpropertyR R R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR s   t TemplateNodecBs)eZdZd„Zd„Zd„ZRS(s?a 'container' node that stores the overall collection of nodes.cCs5tt|ƒiddd|ƒg|_h|_dS(Nti(tsuperRR tnodestpage_attributes(R R((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR &s cCs|iS(N(R(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR +scCsdti|iƒ|ifS(NsTemplateNode(%s, %r)(Rtsorted_dict_reprRR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyt__repr__.s(RRRR R R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR#s  t ControlLinecBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s‹defines a control line, a line-oriented python line or end tag. e.g.:: % if foo: (markup) % endif cKs‘tt|ƒi|||_||_||_|dj|_|iog|_g|_n.t i ||i }|i |_|i |_dS(Ntfortiftwhilettry(sforsifswhilestry(RR!R ttexttkeywordtisendt is_primaryt_declared_identifierst_undeclared_identifiersRtPythonFragmentR tdeclared_identifierstundeclared_identifiers(R R'R(R&tkwargstcode((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR >s       cCs|iS(N(R*(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-LscCs|iS(N(R+(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.OscCsO|htddgƒd6tddgƒd6tdgƒd6i|igƒjS(sRreturn true if the given keyword is a ternary keyword for this ControlLinetelsetelifR#texcepttfinallyR%R"(tsettgetR'(R R'((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyt is_ternaryRs cCs)d|i|i|i|i|iffS(NsControlLine(%r, %r, %r, %r)(R'R&R(RR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR \s (RRRR R-R.R7R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR!3s      tTextcBs eZdZd„Zd„ZRS(s#defines plain text in the template.cKs#tt|ƒi|||_dS(N(RR8R tcontent(R R9R/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR gscCsd|i|i|iffS(Ns Text(%r, %r)(R9RR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ks(RRRR R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR8ds tCodecBs2eZdZd„Zd„Zd„Zd„ZRS(sÒdefines a Python code block, either inline or module level. e.g.:: inline: <% x = 12 %> module level: <%! import logger %> cKsDtt|ƒi|||_||_ti||i|_dS(N( RR:R R&tismoduleRt PythonCodeR R0(R R&R;R/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR s  cCs |iiS(N(R0R-(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-…scCs |iiS(N(R0R.(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.ˆscCs#d|i|i|i|iffS(NsCode(%r, %r, %r)(R&R;RR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ‹s(RRRR R-R.R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR:ns    tCommentcBs eZdZd„Zd„ZRS(s8defines a comment line. # this is a comment cKs#tt|ƒi|||_dS(N(RR=R R&(R R&R/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ™scCsd|i|i|iffS(NsComment(%r, %r)(R&RR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR s(RRRR R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR=’s t ExpressioncBs2eZdZd„Zd„Zd„Zd„ZRS(s1defines an inline expression. ${x+y} cKs\tt|ƒi|||_||_ti||i|_ti ||i|_ dS(N( RR>R R&tescapesRt ArgumentListR t escapes_codeR<R0(R R&R?R/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR §s   cCsgS(N((R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-®scCs@|iii|iiittiiƒƒƒƒi|ii ƒS(N( R0R.tunionRAt differenceR5RtDEFAULT_ESCAPEStkeysR-(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.±s  cCs&d|i|ii|i|iffS(NsExpression(%r, %r, %r)(R&RAtargsRR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ¹s (RRRR R-R.R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR> s    t_TagMetacBs&eZdZhZd„Zd„ZRS(sImetaclass to allow Tag to produce a subclass according to its keywordcCsD|idj o0||i|i <%someothertag> stuff c Ks×tt|ƒi|||_||_|i||ƒg}|D]!}||ijo ||qCqC~} t| ƒoGti ddi g} | D]} | t | ƒq”~ ƒ|i ‚nd|_g|_dS(s_construct a new Tag instance. this constructor not called directly, and is only called by subclasses. :param keyword: the tag keyword :param attributes: raw dictionary of attribute key/value pairs :param expressions: a set of identifiers that are legal attributes, which can also contain embedded expressions :param nonexpressions: a set of identifiers that are legal attributes, which cannot contain embedded expressions :param \**kwargs: other arguments passed to the Node superclass (lineno, pos) sMissing attribute(s): %st,N(RRYR R'RVt_parse_attributestparsed_attributestlenRRUtjointreprR RItparentR( R R'RVt expressionstnonexpressionstrequiredR/t_[1]trtmissingt_[2]tm((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ës  5 . cCs |idjS(N(R`RI(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pytis_root scCs|iS(N(R(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR sc CsÁtƒ}h|_xŸ|iD]”}||joôg}xÄtidtiƒi|i|ƒD]}tidtiƒi|ƒ}|oTti |i dƒi ƒ|i }|i |iƒ}|id|i dƒƒq[|o|it|ƒƒq[q[Wdi|ƒp tdƒ|i|       '   cCsgS(N((R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-9scCs|iS(N(Rr(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.<scCs;d|ii|iti|iƒ|i|if|ifS(Ns%s(%r, %s, %r, %r)( RRR'RRRVRRR(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ?s  N(RRRRGt __metaclass__RIRHR RiR R[R-R.R (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyRYÝs  "   &  t IncludeTagcBs)eZdZd„Zd„Zd„ZRS(tincludecKsQtt|ƒi||ddd|tid|iddƒ|i|_dS( NtfiletimportRFs __DUMMY(%s)R(sfilesimportsargs((sfile(RRwR RR<R6R t page_args(R R'RVR/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR Js cCsgS(N((R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-TscCsI|iiitdgƒƒi|iiƒ}|itt|ƒiƒƒS(Nt__DUMMY(R{R.RCR5R-RBRRw(R t identifiers((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.Ws (RRRHR R-R.(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyRwGs t NamespaceTagcBs eZdZd„Zd„ZRS(t namespacecKsºtt|ƒi||d d d ||iddttt|ƒƒƒƒ|_d|jo&d|joti d|i ‚nd|jo&d|joti d|i ‚ndS( NRytnamet inheritableRztmodules __anon_%ss?'name' and/or 'import' attributes are required for <%namespace>s4<%namespace> may only have one of 'file' or 'module'(sfile(snameRsimportsmodule(( RR~R R6thextabstidR€RRUR (R R'RVR/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR as +cCsgS(N((R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-us(RRRHR R-(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR~^s tTextTagcBseZdZd„ZRS(R&cKsMtt|ƒi||ddd|ti|iddƒ|i|_dS(NtfilterR(((RR†R RR@R6R t filter_args(R R'RVR/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR {s (RRRHR (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR†xstDefTagcBsMeZdZd„ZeZeZed„ƒZd„Z d„Z d„Z RS(tdefc KsÇtt|ƒi||ddd||d}tid |ƒotid |i‚nti d |d|i|_ |i i |_ |i d dƒ|_ti|i d dƒ|i|_dS(Ntbufferedtcachedt cache_keyt cache_timeoutt cache_typet cache_dirt cache_urlR€R‡t decorators^[\w_]+$sMissing parenthesis in %defsdef s:passR(R‹scachedRRŽRRR‘(snamesfilters decorator(sname(RR‰R RjRmRRUR Rt FunctionDeclt function_decltfuncnameR€R6R’R@Rˆ(R R'RVR/R€((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ‡s( cCs |iiS(N(R”R•(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR• scKs|ii|S(N(R”tget_argument_expressions(R tkw((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR–¤scCs |iiS(N(R”targnames(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-§scCseg}x6|iiD](}|tti||iiƒ7}qW|t|iiit i i ƒƒƒS(N( R”tdefaultstlistRR<R R.RˆRCRRDRE(R trestc((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.ªs  &( RRRHR tFalset is_anonymoustis_blockRR•R–R-R.(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR‰„s   tBlockTagcBsVeZdZd„ZeZed„ƒZed„ƒZd„Z d„Z d„Z RS(tblockc Kstt|ƒi||ddd||id ƒ}|o-tid |ƒ otid |i‚n| o,|iddƒotid|i‚nt i |iddƒ|i|_ ||_ |id dƒ|_t i|id dƒ|i|_dS(NR‹RŒRRŽRRR‘RFR€R‡R’s^[\w_]+$s,%block may not specify an argument signatures#Only named %blocks may specify argsR(sbufferedscacheds cache_keys cache_timeouts cache_types cache_dirs cache_urlsargs(snamesfilters decorator((RR R R6RjRmRRUR RIRt FunctionArgst body_declR€R’R@Rˆ(R R'RVR/R€((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ·s0 cCs |idjS(N(R€RI(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyRžÖscCs|ipd|ifS(Ns __M_anon_%d(R€R(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR•ÚscKs|ii|S(N(R£R–(R R—((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR–ÞscCs |iiS(N(R£R˜(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-áscCsgS(N((R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.äs( RRRHR tTrueRŸRRžR•R–R-R.(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ´s   tCallTagcBs)eZdZd„Zd„Zd„ZRS(tcallcKsutt|ƒi||ddd||d|_ti|i|i|_ti|i ddƒ|i|_ dS(NRFRtR(sexpr(sexpr( RR¥R t expressionRR<R R0R¢R6R£(R R'RVR/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ês  cCs|iii|iiƒS(N(R0R-RBR£R˜(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-òscCs|iii|iiƒS(N(R0R.RCR-(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.õs (RRRHR R-R.(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR¥çs  RScBs#eZd„Zd„Zd„ZRS(c Ksätt|ƒi|d||t|iƒƒddd |d||dig}|iiƒD].\}}|djo|d||fq`q`~ƒf|_t i |i|i |_ t i |iddƒ|i |_dS( NRORFs %s.%s(%s)RZs%s=%sR(sargs(((RRSR ttupleRER^R\t iteritemsR§RR<R R0R¢R6R£(R RRXRVR/Rdtktv((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR ûs"  5cCs|iii|iiƒS(N(R0R-RBR£R˜(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-scCs|iii|iiƒS(N(R0R.RCR-(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR.s (RRR R-R.(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyRSùs  t InheritTagcBseZdZd„ZRS(tinheritcKs)tt|ƒi||ddd|dS(NRy(sfile((sfile(RR¬R (R R'RVR/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR s(RRRHR (((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR¬stPageTagcBs eZdZd„Zd„ZRS(tpagec Ksqtt|ƒi||d d d |ti|idd ƒ|i|_ti|idd ƒ|i|_ dS( NRŒRRŽRRR‘RFtexpression_filterR(scacheds cache_keys cache_timeouts cache_types cache_dirs cache_urlsargsR°((( RR®R RR¢R6R R£R@Rˆ(R R'RVR/((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR "scCs |iiS(N(R£R˜(R ((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR-2s(RRRHR R-(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyR®s (RtmakoRRRRRjtobjectRRR!R8R:R=R>RQRGRYRwR~R†R‰R R¥RSR¬R®(((s4/usr/lib/python2.6/vendor-packages/mako/parsetree.pyts(" 1 $ j 03