HEX
Server: Apache
System: Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: camjab_ssh (1000)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //lib/python2.7/site-packages/jinja2/runtime.pyo
ó
ÈÏRc
@sKdZddlmZddlmZmZddlmZmZm	Z	m
Z
mZmZm
Z
ddlmZmZmZddlmZmZmZmZmZmZmZmZddd	d
ddd
ddddddg
ZeZd„ZeƒZd„Z d„Z!d(d(d(d(d„Z#defd„ƒYZ$defd„ƒYZ%y!ddl&m'Z'e'j(e%ƒWne)k
r‚nXdefd„ƒYZ*defd„ƒYZ+edefd „ƒYƒZ,d	efd!„ƒYZ-ed"efd#„ƒYƒZ.ed$e.fd%„ƒYƒZ/ed&e.fd'„ƒYƒZ0e.`1e/`1e0`1d(S()s}
    jinja2.runtime
    ~~~~~~~~~~~~~~

    Runtime helpers.

    :copyright: (c) 2010 by the Jinja Team.
    :license: BSD.
iÿÿÿÿ(tchain(tEvalContextt_context_function_types(tMarkuptsoft_unicodetescapetmissingtconcattinternalcodetobject_type_repr(tUndefinedErrortTemplateRuntimeErrortTemplateNotFound(tnexttimapt	text_typet	iteritemstimplements_iteratortimplements_to_stringtstring_typestPY2tLoopContexttTemplateReferencetMacroRRRRRtmarkup_jointunicode_joint	to_stringtidentityRcCs|S(N((tx((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt<lambda> scCshg}tt|ƒ}xF|D]>}|j|ƒt|dƒrtdƒjt||ƒƒSqWt|ƒS(s@Concatenation that escapes if necessary and converts to unicode.t__html__u(RRtappendthasattrRtjoinRR(tseqtbuftiteratortarg((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR%s

 cCsttt|ƒƒS(s4Simple args to unicode conversion and concatenation.(RRR(R"((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR0sc
Cs´|dkri}n|r$|}nt|p0d|}|r¡|rTt|ƒ}nxJt|ƒD]9\}}	|d dkra|	tk	ra|	||d<qaqaWnt||||ƒS(s(Internal helper to for context creation.itl_N((tNonetdictRRtContext(
tenvironmentt
template_nametblockstvarstsharedtglobalstlocalstparenttkeytvalue((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytnew_context5s		cBs)eZdZd„Zd„Zd„ZRS(sThe `self` in templates.cCs
||_dS(N(t_TemplateReference__context(tselftcontext((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__init__LscCs&|jj|}t||j|dƒS(Ni(R5R,tBlockReference(R6tnameR,((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__getitem__OscCsd|jj|jjfS(Ns<%s %r>(t	__class__t__name__R5R:(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__repr__Ss	(R=t
__module__t__doc__R8R;R>(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRIs		R)cBsàeZdZdZd	„Zd
„Zdd„Zd„Zd
„Z	d„Z
ed„ƒZdd„Z
d„ZedƒZedƒZedƒZerÀedƒZedƒZedƒZn[d„Zd„Zd„ZRS(sïThe template context holds the variables of a template.  It stores the
    values passed to the template and also the names the template exports.
    Creating instances is neither supported nor useful as it's created
    automatically at various stages of the template evaluation and should not
    be created by hand.

    The context is immutable.  Modifications on :attr:`parent` **must not**
    happen and modifications on :attr:`vars` are allowed from generated
    template code only.  Template filters and global functions marked as
    :func:`contextfunction`\s get the active context passed as first argument
    and are allowed to access the context read-only.

    The template context supports read only dict operations (`get`,
    `keys`, `values`, `items`, `iterkeys`, `itervalues`, `iteritems`,
    `__getitem__`, `__contains__`).  Additionally there is a :meth:`resolve`
    method that doesn't fail with a `KeyError` but returns an
    :class:`Undefined` object for missing variables.
    R1R-R*teval_ctxt
exported_varsR:R,t__weakref__cCsh||_i|_||_t|j|ƒ|_tƒ|_||_td„t	|ƒDƒƒ|_
dS(Ncss$|]\}}||gfVqdS(N((t.0tktv((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pys	<genexpr>{s(R1R-R*RRAtsetRBR:R(RR,(R6R*R1R:R,((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR8ps				cCsjy,|j|}|j|ƒd}||Wn(tk
rV|jjd|ddƒSXt||||ƒS(sRender a parent block.is#there is no parent block called %r.R:tsuper(R,tindextLookupErrorR*t	undefinedR9(R6R:tcurrentR,RI((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRH}s

cCs%y||SWntk
r |SXdS(sfReturns an item from the template context, if it doesn't exist
        `default` is returned.
        N(tKeyError(R6R2tdefault((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytget‰s
cCsG||jkr|j|S||jkr4|j|S|jjd|ƒS(sŽLooks up a variable like `__getitem__` or `get` but returns an
        :class:`Undefined` object with the name of the name looked up.
        R:(R-R1R*RK(R6R2((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytresolve’s
cst‡fd†ˆjDƒƒS(s+Get a new dict with the exported variables.c3s"|]}|ˆj|fVqdS(N(R-(RDRE(R6(s2/usr/lib/python2.7/site-packages/jinja2/runtime.pys	<genexpr>žs(R(RB(R6((R6s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytget_exportedœscCst|j|jS(s`Return a copy of the complete context as dict including the
        exported variables.
        (R(R1R-(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytget_all scOsç|j}x'dD]}t||ƒr|}PqqWt|tƒr±t|ddƒrd|f|}q±t|ddƒr‰|jf|}q±t|ddƒr±|jf|}q±ny|||ŽSWntk
râ|jjdƒSXdS(sðCall the callable with the arguments and keyword arguments
        provided but inject the active context or environment as first
        argument if the callable is a :func:`contextfunction` or
        :func:`environmentfunction`.
        tcontextfunctiontevalcontextfunctiontenvironmentfunctionisGvalue was undefined because a callable raised a StopIteration exceptionN(RSRTRU(	t__call__R t
isinstanceRtgetattrRAR*t
StopIterationRK(t_Context__selft
_Context__objtargstkwargstfntfn_type((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytcall¦s$	

cCsmt|j|ji|jtd|ƒ}|jj|jƒ|j|_|j	jd„t
|j	ƒDƒƒ|S(s5Internal helper function to create a derived context.css'|]\}}|t|ƒfVqdS(N(tlist(RDRERF((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pys	<genexpr>ÍsN(R4R*R:R1tTrueR'R-tupdateRAR,R(R6R0R7((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytderivedÇs#cs1‡fd†}ttˆƒj|_ˆ|_|S(Ncst|jƒˆƒƒS(N(RXRR(R6(tmeth(s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRÑs(RXR(R@R=(Retproxy((Res2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt_allÐs	tkeystvaluestitemstiterkeyst
itervaluesRcCs||jkp||jkS(N(R-R1(R6R:((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__contains__áscCs1|j|ƒ}t|tƒr-t|ƒ‚n|S(sTLookup a variable or raise `KeyError` if the variable is
        undefined.
        (RPRWt	UndefinedRM(R6R2titem((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR;äscCs&d|jjt|jƒƒ|jfS(Ns
<%s %s of %r>(R<R=treprRRR:(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR>ís	(sparentsvarssenvironmentseval_ctxs
exported_varssnamesblockss__weakref__N(R=R?R@t	__slots__R8RHR'RORPRQRRRR`RdRgRhRiRjRRkRlRRmR;R>(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR)Zs.	
			
		!					(tMappingR9cBs5eZdZd„Zed„ƒZed„ƒZRS(s"One block on a template reference.cCs(||_||_||_||_dS(N(R:t_contextt_stackt_depth(R6R:R7tstacktdepth((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR8s			cCs_|jdt|jƒkr<|jjjd|jddƒSt|j|j|j|jdƒS(sSuper the block.is#there is no parent block called %r.R:RH(RutlenRtRsR*RKR:R9(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRHscCsAt|j|j|jƒƒ}|jjjr=t|ƒ}n|S(N(RRtRuRsRAt
autoescapeR(R6trv((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRVs(R=R?R@R8tpropertyRHRRV(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR9ýs	
cBsËeZdZddd„Zd„Zed„ƒZed„ƒZed„ƒZ	ed„ƒZ
ed„ƒZed	„ƒZd
„Z
d„Zd„Zed
„ƒZeZ[ed„ƒZd„ZRS(s%A loop context for dynamic iteration.icCsst|ƒ|_||_|jƒ|_d|_||_yt|ƒ|_Wn t	t
fk
rnd|_nXdS(Niÿÿÿÿ(titert	_iteratort_recurset
_safe_nextt_aftertindex0tdepth0Rxt_lengtht	TypeErrortAttributeErrorR'(R6titerabletrecurseR‚((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR8s			cGs*|stdƒ‚n||jt|ƒS(s7Cycles among the arguments with the current loop index.sno items for cycling given(R„RRx(R6R\((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytcycle+scCs
|jdkS(Ni(R(R((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR1scCs
|jtkS(N(R€t_last_iteration(R((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR2scCs|jdS(Ni(R(R((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR3scCs|j|jS(N(tlengthR(R((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR4scCs|j|jS(N(RŠRI(R((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR5scCs|jdS(Ni(R‚(R((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR6scCs|jS(N(RŠ(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__len__8scCs
t|ƒS(N(tLoopContextIterator(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__iter__;scCs*yt|jƒSWntk
r%tSXdS(N(R
R}RYR‰(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR>s
cCs;|jdkrtdƒ‚n|j||j|jdƒS(NsMTried to call non recursive loop.  Maybe you forgot the 'recursive' modifier.i(R~R'R„R‚(R6R†((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pytloopDscCsQ|jdkrJt|jƒ}t|ƒ|_t|ƒ|jd|_n|jS(Ni(RƒR'ttupleR}R|RxR(R6R†((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRŠPs
cCsd|jj|j|jfS(Ns
<%s %r/%r>(R<R=RIRŠ(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR>\s	N(R=R?R@R'R8RˆR{tfirsttlastRItrevindext	revindex0RwR‹RRRRŽRVRŠR>(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRs"					RŒcBs/eZdZdZd„Zd„Zd„ZRS(s The iterator for a loop context.R7cCs
||_dS(N(R7(R6R7((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR8iscCs|S(N((R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRlscCsU|j}|jd7_|jtkr3tƒ‚n|j}|jƒ|_||fS(Ni(R7RR€R‰RYR(R6tctxt	next_elem((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__next__os		(scontext(R=R?R@RqR8RR–(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRŒds
		cBs/eZdZd„Zed„ƒZd„ZRS(sWraps a macro function.c		Cs[||_||_t|ƒ|_||_||_||_||_||_||_	dS(N(
t_environmentt_funcRxt_argument_countR:t	argumentstdefaultstcatch_kwargst
catch_varargstcaller(	R6R*tfuncR:RšR›RœRRž((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR8|s							c	OsÛt||j ƒ}t|ƒ}||jkrÛxªt|jt|ƒƒD]Œ\}}y|j|ƒ}Wn]tk
rÆy|j||j|}WqÇtk
rÂ|j	j
d|d|ƒ}qÇXnX|j|ƒqHWn|jr-|jddƒ}|dkr|j	j
dddƒ}n|j|ƒn|jrF|j|ƒn.|rttd|jtt|ƒƒfƒ‚n|jr”|j||jƒn:t|ƒ|jkrÎtd|jt|jƒfƒ‚n|j|ŒS(Nsparameter %r was not providedR:RžsNo caller defineds%macro %r takes no keyword argument %rs+macro %r takes not more than %d argument(s)(RaR™Rxt	enumerateRštpopRMR›t
IndexErrorR—RKRRžR'RœR„R:R
R|RR˜(	R6R\R]RštofftidxR:R3Rž((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRVˆs<&

			"	cCs2d|jj|jdkr!dp-t|jƒfS(Ns<%s %s>t	anonymous(R<R=R:R'Rp(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR>²s	(R=R?R@R8RRVR>(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRys	*RncBsõeZdZdZdeded„Zed„ƒZ	ed„ƒZ
e	ZZZ
ZZZZZZZZZZZZZZZZZZZ Z!Z"Z#d„Z$d	„Z%d
„Z&d„Z'd„Z(d
„Z)d„Z*d„Z+RS(sVThe default undefined type.  This undefined type can be printed and
    iterated over, but every other access will raise an :exc:`UndefinedError`:

    >>> foo = Undefined(name='foo')
    >>> str(foo)
    ''
    >>> not foo
    True
    >>> foo + 42
    Traceback (most recent call last):
      ...
    UndefinedError: 'foo' is undefined
    t_undefined_hintt_undefined_objt_undefined_namet_undefined_exceptioncCs(||_||_||_||_dS(N(R¦R§R¨R©(R6thinttobjR:texc((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR8Ës			cOsš|jdkr~|jtkr.d|j}q‡t|jtƒs_dt|jƒ|jf}q‡dt|jƒ|jf}n	|j}|j|ƒ‚dS(siRegular callback function for undefined objects that raises an
        `UndefinedError` on call.
        s%r is undefineds%s has no element %rs%r has no attribute %rN(	R¦R'R§RR¨RWRR	R©(R6R\R]Rª((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt_fail_with_undefined_errorÑs	cCs)|d dkrt|ƒ‚n|jƒS(Nit__(R…R­(R6R:((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__getattr__çscCst|ƒt|ƒkS(N(ttype(R6tother((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__eq__ôscCs|j|ƒS(N(R²(R6R±((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__ne__÷scCstt|ƒƒS(N(tidR°(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__hash__úscCsdS(Nu((R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__str__ýscCsdS(Ni((R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR‹sccsdS(N((R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRscCstS(N(tFalse(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt__nonzero__scCsdS(NRn((R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR>
s(s_undefined_hints_undefined_objs_undefined_names_undefined_exceptionN(,R=R?R@RqR'RR
R8RR­R¯t__add__t__radd__t__mul__t__rmul__t__div__t__rdiv__t__truediv__t__rtruediv__t__floordiv__t
__rfloordiv__t__mod__t__rmod__t__pos__t__neg__RVR;t__lt__t__le__t__gt__t__ge__t__int__t	__float__t__complex__t__pow__t__rpow__R²R³RµR¶R‹RR¸R>(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRn¹sf							tDebugUndefinedcBseZdZdZd„ZRS(sAn undefined that returns the debug info when printed.

    >>> foo = DebugUndefined(name='foo')
    >>> str(foo)
    '{{ foo }}'
    >>> not foo
    True
    >>> foo + 42
    Traceback (most recent call last):
      ...
    UndefinedError: 'foo' is undefined
    cCsN|jdkrC|jtkr)d|jSdt|jƒ|jfSd|jS(Nu{{ %s }}s{{ no such element: %s[%r] }}u!{{ undefined value printed: %s }}(R¦R'R§RR¨R	(R6((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyR¶s((R=R?R@RqR¶(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRÐs
tStrictUndefinedcBs9eZdZdZejZZZZ	Z
ZZZ
RS(s=An undefined that barks on print and iteration as well as boolean
    tests and all kinds of comparisons.  In other words: you can do nothing
    with it except checking if it's defined using the `defined` test.

    >>> foo = StrictUndefined(name='foo')
    >>> str(foo)
    Traceback (most recent call last):
      ...
    UndefinedError: 'foo' is undefined
    >>> not foo
    Traceback (most recent call last):
      ...
    UndefinedError: 'foo' is undefined
    >>> foo + 42
    Traceback (most recent call last):
      ...
    UndefinedError: 'foo' is undefined
    ((R=R?R@RqRnR­RR¶R‹R¸R²R³t__bool__Rµ(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyRÑ)sN(2R@t	itertoolsRtjinja2.nodesRRtjinja2.utilsRRRRRRR	tjinja2.exceptionsR
RRtjinja2._compatR
RRRRRRRt__all__RRtobjectR‰RRR'R4RR)tcollectionsRrtregistertImportErrorR9RRŒRRnRÐRÑRq(((s2/usr/lib/python2.7/site-packages/jinja2/runtime.pyt<module>
sF4:					œ
L@T