/usr/lib64/python2.6/site-packages/jinja2
NameSizeModeActions
bccache.py112940644editdlrm
bccache.pyc134770644editdlrm
bccache.pyo134770644editdlrm
compiler.py559230644editdlrm
compiler.pyc509150644editdlrm
compiler.pyo508450644editdlrm
constants.py62290644editdlrm
constants.pyc76970644editdlrm
constants.pyo76970644editdlrm
debug.py99270644editdlrm
debug.pyc101660644editdlrm
debug.pyo100940644editdlrm
defaults.py10500644editdlrm
defaults.pyc16140644editdlrm
defaults.pyo16140644editdlrm
environment.py346510644editdlrm
environment.pyc345220644editdlrm
environment.pyo341030644editdlrm
exceptions.py30730644editdlrm
exceptions.pyc47210644editdlrm
exceptions.pyo47210644editdlrm
ext.py181070644editdlrm
ext.pyc176810644editdlrm
ext.pyo176140644editdlrm
filters.py218060644editdlrm
filters.pyc247740644editdlrm
filters.pyo247740644editdlrm
lexer.py246640644editdlrm
lexer.pyc205660644editdlrm
lexer.pyo203970644editdlrm
loaders.py115070644editdlrm
loaders.pyc132180644editdlrm
loaders.pyo132180644editdlrm
meta.py28460644editdlrm
meta.pyc36670644editdlrm
meta.pyo36670644editdlrm
nodes.py234640644editdlrm
nodes.pyc381880644editdlrm
nodes.pyo376930644editdlrm
optimizer.py23020644editdlrm
optimizer.pyc28730644editdlrm
optimizer.pyo28730644editdlrm
parser.py306760644editdlrm
parser.pyc288520644editdlrm
parser.pyo288520644editdlrm
runtime.py176050644editdlrm
runtime.pyc214470644editdlrm
runtime.pyo214110644editdlrm
sandbox.py92600644editdlrm
sandbox.pyc97180644editdlrm
sandbox.pyo97180644editdlrm
tests.py32660644editdlrm
tests.pyc49220644editdlrm
tests.pyo49220644editdlrm
utils.py248940644editdlrm
utils.pyc315080644editdlrm
utils.pyo315080644editdlrm
visitor.py33160644editdlrm
visitor.pyc38500644editdlrm
visitor.pyo38500644editdlrm
_ipysupport.py9490644editdlrm
_ipysupport.pyc17760644editdlrm
_ipysupport.pyo17760644editdlrm
_speedups.so82320755editdlrm
_stringdefs.py4042560644editdlrm
_stringdefs.pyc2085250644editdlrm
_stringdefs.pyo2085250644editdlrm
__init__.py21950644editdlrm
__init__.pyc23960644editdlrm
__init__.pyo23960644editdlrm
Edit: /usr/lib64/python2.6/site-packages/jinja2/utils.pyc (31508B)
Jc$@sydZddkZddkZddkZyddklZWn#ej oddklZnXddkl Z ddk l Z ei dZ ei ddie eidGdie eidHfZei dZei dZei dZdZdZeddIhdd6ZeZdiZydZeeWnMej oAZei peidej o dZneZ[[nXy e Z Wne!j odZ nXyddk"l#Z$Wn+ej oei d Z%d!Z$nXd"e&fd#YZ'd$Z(ee(Z)ee(Z*ee'i+Z,ee'i+i-Z.y eWn>ej o2ei/d%Z0ee0Z1ee0i2Z3nX['[0[(d&Z4d'Z5d(Z6d)Z7d*Z8d+Z9e:d,Z;d-d.Z<e:d/Z=de:d0Z?d1e@d2d3d4ZAd5eBfd6YZCd7ZDd8e&fd9YZEd:e&fd;YZFy!dd<klGZGeGiHeFWnej onXd=e&fd>YZId?e&fd@YZJyddAkKlZlLZLWn%ej odBZdCZLnXyddDkMlNZNWn)ej odEe&fdFYZNnXdS(Js jinja2.utils ~~~~~~~~~~~~ Utility functions. :copyright: (c) 2009 by the Jinja Team. :license: BSD, see LICENSE for more details. iN(t allocate_lock(tdeque(timaps(\s+)s4^(?P(?:%s)*)(?P.*?)(?P(?:%s)*)$t|t(ts s>s&^\S+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+$s(|<[^>]*>)s &([^;]+);t4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZt 0123456789t MissingTypecCsdS(tmissing((tx((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt$st__repr__uccsttdVdS(N(t TypeErrort _test_gen_bugtNone(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyR/s icCsFytt|SWn+ti\}}}|||inXdS(N(t_concattlisttsystexc_infottb_next(tgentexc_typet exc_valuettb((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pytconcat5s cCs |iS(N(tnext(R((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRGs(t iskeywords^[a-zA-Z_][a-zA-Z0-9]*$cBsFei|djoeSy|ddUWnej oeSXeS(Ns = 42(t_py_identifier_retsearchRtFalset SyntaxErrortTrue(tname((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pytis_python_keywordPst_CcBseZdZRS(cCsdS(N((tself((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pytmethod]s(t__name__t __module__R)(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyR'\sccs dVdS(N(R(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt_func^sicCs t|_|S(s+This decorator can be used to mark a function or method context callable. A context callable is passed the active :class:`Context` as first argument when called from the template. This is useful if a function wants to get access to the context or functions provided on the context object. For example a function that returns a sorted list of template variables the current template exports could look like this:: @contextfunction def get_exported_names(context): return sorted(context.exported_vars) (R$tcontextfunction(tf((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyR-ms cCs t|_|S(sThis decorator can be used to mark a function or method as environment callable. This decorator works exactly like the :func:`contextfunction` decorator just that the first argument is the active :class:`Environment` and not context. (R$tenvironmentfunction(R.((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyR/}s cCsti|i|S(s%Marks the function as internally used(t internal_codetaddt func_code(R.((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt internalcodescCsddkl}t||S(sCheck if the object passed is undefined. This does nothing more than performing an instance check against :class:`Undefined` but looks nicer. This can be used for custom filters or tests that want to react to undefined variables. For example a custom default filter can look like this:: def default(var, default=''): if is_undefined(var): return default return var i(t Undefined(tjinja2.runtimeR4t isinstance(tobjR4((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt is_undefineds cCsx|D]}qWdS(s4Consumes an iterable without doing anything with it.N((titerabletevent((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pytconsumescCs8ddkl}ddkl}|i|idS(s"Jinja2 keeps internal caches for environments and lexers. These are used so that Jinja2 doesn't have to recreate environments and lexers all the time. Normally you don't have to care about that but if you are messuring memory consumption you may want to clean the caches. i(t_spontaneous_environments(t _lexer_cacheN(tjinja2.environmentR<t jinja2.lexerR=tclear(R<R=((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt clear_cachess c Csyd|jo|idd\}}nHd|jo0|id}di|d }|d}n t|Stt|dd|g|SWn'ttfj o|pqnXdS(sImports an object based on a string. This use useful if you want to use import paths as endpoints or something similar. An import path can be specified either in dotted notation (``xml.sax.saxutils.escape``) or with a colon as object delimiter (``xml.sax.saxutils:escape``). If the `silent` is True the return value will be `None` if the import fails. :return: imported object t:iRiN(tsplittjoint __import__tgetattrRt ImportErrortAttributeError(t import_nametsilenttmoduleR7titems((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt import_strings    #trcCsPyt||SWn8tj o,}|ititifjoqLnXdS(sZReturns a file descriptor for the filename if that file exists, otherwise `None`. N(tfiletIOErrorterrnotENOENTtEISDIR(tfilenametmodete((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pytopen_if_existss cCsUy$ddkl}||d|SWn*tj oddkl}||SXdS(sYPrettyprint an object. Either use the `pretty` library or the builtin `pprint`. i(tprettytverbose(tpformatN(RXRGtpprintRZ(R7RYRXRZ((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRZs c Cs|d}titt|}|odpd}xt|D]\}}ti|}|os|i\} } } | idpvd| jo| id out | djob| dt t joM| i dp | i d p| i d od | ||| f} n| idp| id od | ||| f} nd| joB| id o1d| jo$t i| od| | f} n| | | |jo| | | ||%sshttps://s%sRBs%su(t_word_split_reRCtunicodetescapet enumeratet_punctuation_retmatchtgroupst startswithR]t_letterst_digitstendswitht_simple_email_reRD( ttextttrim_url_limittnofollowttrim_urltwordst nofollow_attrtitwordRetleadtmiddlettrail((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyturlizes8   iiidcCsddkl}ddkl}l}l}|i}g} xt|D]}} t} d} } d}d}g}xt t|||D]\}} x0to(||}||jo |}PqqW| o|i }t } n||dd| jo|} | d7} |d7}n||d d | jo|} } |d 7}t} n|i |qWd i |}|ido|d d }n|id p|d 7}n| i |qKW|pd i | Stdi d| DS(s,Generate some lorem impsum for the template.i(tLOREM_IPSUM_WORDS(tchoicetrandomt randrangeiiiiRi iRu u u css#x|]}dt|VqWdS(u

%s

N(Rb(t.0R((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pys :s N(tjinja2.constantsRxRzRyR{RCtxrangeR$RRct capitalizeR"tappendRDRjtMarkup(tnthtmltmintmaxRxRyRzR{Rptresultt_tnext_capitalizedt last_commat last_fullstopRstlasttptidx((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pytgenerate_lorem_ipsum sP             RcBseZdZd&Zdd'ddZdZdZdZdZ e Z dZ d Z d Z ei ie _d Zeiie_d Zeiie_d Zeiie_dZdZedZdZx!d(D]Zeeee>> Markup("Hello World!") Markup(u'Hello World!') >>> class Foo(object): ... def __html__(self): ... return 'foo' ... >>> Markup(Foo()) Markup(u'foo') If you want object passed being always treated as unsafe you can use the :meth:`escape` classmethod to create a :class:`Markup` object: >>> Markup.escape("Hello World!") Markup(u'Hello <em>World</em>!') Operations on a markup string are markup aware which means that all arguments are passed through the :func:`escape` function: >>> em = Markup("%s") >>> em % "foo & bar" Markup(u'foo & bar') >>> strong = Markup("%(text)s") >>> strong % {'text': 'hacker here'} Markup(u'<blink>hacker here</blink>') >>> Markup("Hello ") + "" Markup(u'Hello <foo>') utstrictcCsTt|do|i}n|djoti||Sti||||S(Nt__html__(thasattrRRRat__new__(tclstbasetencodingterrors((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRks  cCs|S(N((R(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRrscCsHt|dpt|to$|it|tt|StS(NR(RR6t basestringt __class__RaRbtNotImplemented(R(tother((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt__add__us $cCsHt|dpt|to$|itt|t|StS(NR(RR6RRRaRbR(R(R((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt__radd__zs $cCs4t|ttfo|iti||StS(N(R6tinttlongRRat__mul__R(R(tnum((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRscCsNt|tottt|}n t|}|iti||S(N(R6ttupleRt_MarkupEscapeHelperRRat__mod__(R(targ((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRs cCsd|iiti|fS(Ns%s(%s)(RR*RaR(R(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRs cCs"|iti|tt|S(N(RRaRDRRb(R(tseq((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRDscOst|iti|||S(N(tmapRRaRC(R(targstkwargs((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRCscOst|iti|||S(N(RRRatrsplit(R(RR((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRscOst|iti|||S(N(RRRat splitlines(R(RR((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRscs5ddklfd}ti|t|S(sUnescape markup again into an unicode string. This also resolves known HTML4 and XHTML entities: >>> Markup("Main » About").unescape() u'Main \xbb About' i(t HTML_ENTITIESc s|id}|jot|SyR|d djott|ddS|idott|dSWntj onXdS( Niis#xs#Xit#u(s#xs#X(tgrouptunichrRRgt ValueError(tmR%(R(s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt handle_matchs (R}Rt _entity_retsubRa(R(R((Rs2/usr/lib64/python2.6/site-packages/jinja2/utils.pytunescapes cCs1ditid|i}t|iS(sUnescape markup into an unicode string and strip all tags. This also resolves known HTML4 and XHTML entities. Whitespace is normalized to one: >>> Markup("Main » About").striptags() u'Main \xbb About' u R\(RDt _striptags_reRRCRR(R(tstripped((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt striptagss!cCs+t|}|i|j o ||S|S(sEscape the string. Works like :func:`escape` with the difference that for subclasses of :class:`Markup` this function would return the correct subclass. (RbR(Rtstrv((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRbs  cs:tt|fd}i|_i|_|S(NcsGtt|t|}t||i|i|||S(N(t_escape_argspecRRct iteritemsR(R(RR(torig(s2/usr/lib64/python2.6/site-packages/jinja2/utils.pytfuncs(RFRaR*t__doc__(R%R((Rs2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt make_wrappers   t __getitem__Rttitletlowertuppertreplacetljusttrjusttlstriptrstriptcentertstript translatet expandtabstswapcasetzfillt partitiont rpartitiontformatt __getslice__(N(s __getitem__s capitalizestitleslowersuppersreplacesljustsrjustslstripsrstripscentersstrips translates expandtabssswapcaseszfill(R*R+Rt __slots__RRRRRRt__rmul__RRRDRaRCRRRRt classmethodRbRR)tlocalsRRRRR(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyR=sH+             cCsOxH|D]@\}}t|dpt|tot|||(RR*R(R(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRXs cCs]|i|}|id|jo8y|i|Wntj onX|i|n|S(sGet an item from the cache. Moves the item up so that it has the highest priority then. Raise an `KeyError` if it does not exist. i(RRRRR(R(RR((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyR^s cCs|iizl||ijo|i|n.t|i|ijo|i|i=n|i|||i|, ' and " in string s to HTML-safe sequences. Use this if you need to display text that might contain such characters in HTML. Marks return value as markup string. Rt&s&R s>Rs<t's't"s"(RRRRaR(R((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRbs     cCs$t|tpt|}n|S(swMake a string unicode if it isn't already. That way a markup string is not converted back to unicode. (R6Ra(R((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRs(tpartialRcBseZdZdZRS(cOs||_||_||_dS(N(R,t_argst_kwargs(R(R,RR((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRs  cOs'|i|i|i|i||S(N(RRR,R(R(RR((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyR s(R*R+RR(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyRs (RRs<(RRRR s s>((ORtreRRQtthreadRRGt dummy_threadt collectionsRt itertoolsRtcompileR`RDRbRdRkRRRhRittypeR tsetR0RRRt_errorRRRt NameErrortkeywordRR&R tobjectR'R,t FunctionTypet GeneratorTypeR)t MethodTypeR2tCodeTypeRt_tbt TracebackTypettb_framet FrameTypeR-R/R3R8R;RAR"RMRWRZRRwR$RRaRRRRR tregisterR Rtjinja2._speedupsRt functoolsR(((s2/usr/lib64/python2.6/site-packages/jinja2/utils.pyt s   "                  ,1