/opt/alt/python27/lib/python2.7/site-packages/tempita
NameSizeModeActions
compat3.py8490644editdlrm
compat3.pyc15820644editdlrm
compat3.pyo15820644editdlrm
_looper.py41610644editdlrm
_looper.pyc71000644editdlrm
_looper.pyo71000644editdlrm
__init__.py396930644editdlrm
__init__.pyc402860644editdlrm
__init__.pyo397950644editdlrm
Edit: /opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyc (40286B)
>Mc@sdZddkZddkZddkZddklZddkZddkZddk l Z ddk l Z ddk lZlZlZlZlZddd d d d d gZeidZeideiZdefdYZdefdYZdefdYZdZdefdYZedZ edZ!d e"fdYZ#d efdYZ$e%dZ&dZ'dZ(d efdYZ)dZ*d efd!YZ+d"efd#YZ,d$efd%YZ-d&efd'YZ.e.Z/[.ee%d(ed)Z0eid*Z1d+d,d-d.d/d0gZ2eid1Z3eid2Z4d3Z5d4Z6ed(ed5Z7fd6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAed@ZBeCdAjo eBndS(Bs A small templating language This implements a small templating language. This language implements if/elif/else, for/continue/break, expressions, and blocks of Python code. The syntax is:: {{any expression (function calls etc)}} {{any expression | filter}} {{for x in y}}...{{endfor}} {{if x}}x{{elif y}}y{{else}}z{{endif}} {{py:x=1}} {{py: def foo(bar): return 'baz' }} {{default var = default_value}} {{# comment}} You use this with the ``Template`` class or the ``sub`` shortcut. The ``Template`` class takes the template string and the name of the template (for errors) and a default namespace. Then (like ``string.Template``) you can call the ``tmpl.substitute(**kw)`` method to make a substitution (or ``tmpl.substitute(a_dict)``). ``sub(content, **kw)`` substitutes the template immediately. You can use ``__name='tmpl.html'`` to set the name of the template. If there are syntax errors ``TemplateError`` will be raised. iN(tquote(tStringIO(tlooper(tbytest basestring_tnextt is_unicodet coerce_textt TemplateErrortTemplatetsubt HTMLTemplatetsub_htmlthtmltbunchs\s+in\s+s^[a-z_][a-z0-9_]*$cBs#eZdZddZdZRS(s.Exception raised while parsing a template cCs&ti||||_||_dS(N(t Exceptiont__init__tpositiontname(tselftmessageRR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR5s cCsddi|i}|io%d||id|idf}n|io|d|i7}n|S(Nt s%s at line %s column %siis in %s(tjointargsRR(Rtmsg((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt__str__:s " N(t__name__t __module__t__doc__tNoneRR(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR1s t_TemplateContinuecBseZRS((RR(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRDst_TemplateBreakcBseZRS((RR(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRHscCsFtiitii|i|}|ii|d|id|iS(Nt namespacet get_template( tostpathRtdirnameRt __class__t from_filenameR R!(Rt from_templateR#((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pytget_file_templateLs$ cBseZhdd6dd6ed6ZdZdZddddddddZdddedZ e e Z d Z d Z d Z d Zd ZdZdZdZdZdZdZdZRS(s{{t start_bracess}}t end_bracesRtutf8ic Cs||_|djo|id|idf}nt|djo1tg} |D]} | t| tqU~ pt|iii |_|d|id<|d|id<||_ t ||_ |djo|dj oyt i|} Wntj oqX| i} | i} d| jo<| d}|idp|ido|d }qn"d | jo| d }nd }| o|d | 7}qn||_t|d |d|d|i |_|djo h}n||_||_|dj o ||_ndS(NR)R*iiit__file__s.pycs.pyoiRss:%sRt line_offsett delimeters(tcontentRtdefault_namespacetlentallt isinstancet basestringtAssertionErrorR%tcopyR.Rt_unicodetsyst _getframet ValueErrort f_globalstf_linenotendswithRtparset_parsedR R!tdefault_inherit(RR/RR t stacklevelR!R@R-R.t_[1]t delimetertcallertglobalstlineno((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR^sF   .        $     c Csdt|d}|i}|i|o|i|}n|d|d|d|d|d|S(NtrbR/RR R@R!(topentreadtclosetdecode(tclstfilenameR tencodingR@R!tftc((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR&s  cCs*d|iitt|d|ifS(Ns<%s %s name=%r>i(R%RthextidR(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt__repr__s cOs|ow|otdnt|djotdnt|ddptd|dfn|d}n|}|i|d<|io|i|in|i|\}}}|p |i}n|o|i||||}n|S(Ns3You can only give positional *or* keyword argumentsis)You can only give one positional argumentititemssqIf you pass in a single argument, you must pass in a dictionary-like object (with a .items() method); you gave %rt__template_name__( t TypeErrorR1thasattrRR tupdatet _interpretR@t_interpret_inherit(RRtkwtnstresulttdefstinherit((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt substitutes,     cCsmt}g}h}|i|i|d|d|d|jo|id}nd}di|||fS(NtoutR^t __inherit__t(tTruet_interpret_codesR?tpopRR(RR\t__traceback_hide__tpartsR^R_((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRYs c Cst}|iptdddd|in|i||}t|i}x*|iD]\}} t||| q]W||_|i }||d<|i |S(Ns:You cannot use inheritance without passing in get_templateRRR( RdR!RRRtTemplateObjectt iteritemstsetattrtbodyR6R`( RRlR^tinherit_templateR\Rgttempltself_Rtvalue((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRZs     cCsRt}xE|D]=}t|to|i|q |i||||q WdS(N(RdR3Rtappendt_interpret_code(RtcodesR\RaR^Rgtitem((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRes c Cst}|d|d}}|djo|i|d||nj|djo tnP|djo tn6|djoU|d|d|d }} } |i| ||} |i|| | |||n|d jo$|d} |i| |||n|d jo|did } |i| d||} x3| dD]'} |i| ||}|| } qNW|i|i | |n|d joI|d|d}} ||jo#|i| ||}|||d||d|df}|io|d|i7}n|S(Ns%s at line %s column %siis in file %s(R(RRR~((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRns  N(RRRR0RRR@RR(R&t classmethodRSR`RYRZReRrRRRRRR(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR Ss0    +      +    ,cKs4|id}t|d|d|}|i|S(Nt__nameRR.(tgetR R`(R/R.R[Rttmpl((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR vscCst|d|}|i|S(NR(R R`(R/RRMR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pytpaste_script_template_renderer|scBs5eZdZdZdZdZdZRS(cKs1x*|iD]\}}t|||q WdS(N(RjRk(RR[RRp((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs cCs|||Rs%s=%r(RjtsortR%RR(RRBtktvRTt_[2]((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRSs 3  (RRRRRRRS(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs     cBs,eZdZdZdZdZRS(cCs ||_dS(N(Rp(RRp((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRscCs|iS(N(Rp(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRscCs|iS(N(Rp(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt__html__scCsd|ii|ifS(Ns<%s %r>(R%RRp(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRSs(RRRRRRS(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR s   cCs| ot|do |iS|djodSt|tpt|}ntidjo>t|to.t i |i dd}|i d}nt i |d}tidjo't |o|i dd}qn|S(NRRct3tlatin1itasciitxmlcharrefreplace(RWRRR3RRR8tversionRtcgitescapeRKRR(Rptforce((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt html_quotes    cCs6t|}t|o|id}nt|S(NR+(RRRt url_quote(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyturls  cKst|i}|ig}xi|D]a\}}|djoq)n|ido|d }n|idt|t|fq)Wtdi|S(Nt_is%s="%s"R( tlistRjRRR=RqRR R(R[RhRRp((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pytattrs   'c BsHeZeiiZeiededede de dZ RS(R RRRcCs[t|do|i}t}nt}ti|||}|o t|S|SdS(NR(RWRtFalseRdR RR(RRpR~Rtplain((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs   ( RRR R0R6RXRR RRRR(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR s  cKs.|id}t|d|}|i|S(NRR(RR R`(R/R[RR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR sRcBsDeZddZdZdZdZddZdZRS(cCsC||_||_||_||_||_||_||_dS(N(t _templatet _func_namet_func_signaturet_bodyt_nst_post _bound_self(Rttemplatet func_nametfunc_signatureRlR\R~t bound_self((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs      cCs#d|i|i|ii|ifS(Ns"(RRRRR(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRSs cCs|S(N((R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR scOs|i||}|ii}|i||idj o|i|d8s sMissing argument: %s( RRjRVRRfttupleRRRRR( RRR[Rtsig_argstvar_argstvar_kwtdefaultstextra_kwRRpt value_expr((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRsP    "   ! N( RRRRRSRRRR(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs    RicBseZdZdZRS(cCs||_t||_dS(N(t_TemplateObject__nametTemplateObjectGetterR(RR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRHs cCsd|ii|ifS(Ns<%s %s>(R%RR(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRSLs(RRRRS(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRiFs RcBs#eZdZdZdZRS(cCs ||_dS(N(t#_TemplateObjectGetter__template_obj(Rt template_obj((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRRscCst|i|tS(N(RRtEmpty(RR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRUscCsd|ii|ifS(Ns<%s around %r>(R%RR(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRSXs(RRRRRS(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRPs  t_EmptycBsXeZdZdZdZdZdZdZei djo eZ nRS(cOs|S(N((RRR[((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR]scCsdS(NRc((R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR`scCsdS(NR((R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRScscCsdS(Nu((R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt __unicode__fscCs tdS(N((titer(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt__iter__iscCstS(N(R(R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt__bool__lsR( RRRRRSRRRR8Rt __nonzero__(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR\s      icCs|d jotidtidf}nt}g}d}d }tidti|dti|df} x5| i|D]$} | id} t || i |} | |djo+|o$t d|dd| d|n>| |djo,| o$t d |dd| d|n| |djo5||| i !} | o|i | nt}n'|i ||| i !|ft}| i }| }qW|o$t d |dd|d|n||} | o|i | n|ot|}n|S( sY Lex a string into chunks: >>> lex('hey') ['hey'] >>> lex('hey {{you}}') ['hey ', ('you', (1, 7))] >>> lex('hey {{') Traceback (most recent call last): ... TemplateError: No }} to finish last expression at line 1 column 7 >>> lex('hey }}') Traceback (most recent call last): ... TemplateError: }} outside expression at line 1 column 7 >>> lex('hey {{ {{') Traceback (most recent call last): ... TemplateError: {{ inside expression at line 1 column 10 R)R*iis%s|%ss%s inside expressionRRs%s outside expressionsNo %s to finish last expressionN(ii(RR R0RtretcompileRtfinditertgroupt find_positionRRRRqRdttrim_lex(tsRttrim_whitespaceR-R.tin_exprtchunkstlasttlast_posttoken_retmatchRzR~R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pytlexzsN         s.^(?:if |elif |for |def |inherit |default |py:)RtendiftendfortenddefRvRws \n\r?[\t ]*$s ^[\t ]*\nc Csd}xtt|D]v}||}t||toqn|d}ti| o|tjoqn|p d}n||d}|dt|jo d}n||d}t|t pt|t oqn| p ti|}|djo|i o t }n|dj o)|d|jo|i o d}n|o,| p5t i|p%|t|djo|i o|oo|djo|i p |djod||d>> tokens = lex('{{if x}}\nx\n{{endif}}\ny', trim_whitespace=False) >>> tokens [('if x', (1, 3)), '\nx\n', ('endif', (3, 3)), '\ny'] >>> trim_lex(tokens) [('if x', (1, 3)), 'x\n', ('endif', (3, 3)), 'y'] iRciiRN(RtrangeR1R3Rt statement_retsearchtsingle_statementsttrail_whitespace_retstripRdtlead_whitespace_reRR( ttokenst last_trimtitcurrentRttprevt next_chunktprev_oktm((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRsR      , % %cCs2|| i}t||t|ddfS(s/Given a string and index, return (line, column)ii(t splitlinesR1(tstringtindexR-tleading((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRscCs|djotidtidf}nt|d|d|d|}g}x.|o&t||\}}|i|qRW|S(s Parses a string into a kind of AST >>> parse('{{x}}') [('expr', (1, 3), 'x')] >>> parse('foo') ['foo'] >>> parse('{{if x}}test{{endif}}') [('cond', (1, 3), ('if', (1, 3), 'x', ['test']))] >>> parse('series->{{for x in y}}x={{x}}{{endfor}}') ['series->', ('for', (1, 11), ('x',), 'y', ['x=', ('expr', (1, 27), 'x')])] >>> parse('{{for x, y in z:}}{{continue}}{{endfor}}') [('for', (1, 3), ('x', 'y'), 'z', [('continue', (1, 21))])] >>> parse('{{py:x=1}}') [('py', (1, 3), 'x=1')] >>> parse('{{if x}}a{{elif y}}b{{else}}c{{endif}}') [('cond', (1, 3), ('if', (1, 3), 'x', ['a']), ('elif', (1, 12), 'y', ['b']), ('else', (1, 23), None, ['c']))] Some exceptions:: >>> parse('{{continue}}') Traceback (most recent call last): ... TemplateError: continue outside of for loop at line 1 column 3 >>> parse('{{if x}}foo') Traceback (most recent call last): ... TemplateError: No {{endif}} at line 1 column 3 >>> parse('{{else}}') Traceback (most recent call last): ... TemplateError: else outside of an if block at line 1 column 3 >>> parse('{{if x}}{{for x in y}}{{endif}}{{endfor}}') Traceback (most recent call last): ... TemplateError: Unexpected endif at line 1 column 25 >>> parse('{{if}}{{endif}}') Traceback (most recent call last): ... TemplateError: if with no expression at line 1 column 3 >>> parse('{{for x y}}{{endfor}}') Traceback (most recent call last): ... TemplateError: Bad for (no "in") in 'x y' at line 1 column 3 >>> parse('{{py:x=1\ny=2}}') Traceback (most recent call last): ... TemplateError: Multi-line py blocks must start with a newline at line 1 column 3 R)R*RR-R.N(RR R0Rt parse_exprRq(RRR-R.RR]R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR>s2  cCst|dto|d|dfS|d\}}|i}|ido|did}|idp|idoR|id}d|jo(|idd}|idd }n|d7}n*d|jotd d |d |nd ||f|dfS|d$jo>d|jotdd |d |n||f|dfS|idot|||S|idp |djo*td|idd |d |n|d%jo td|d |d |n|d&jo td|d |d |n|idot |||S|idot |||S|idot |||S|id ot |||S|id!o d"||ddf|dfSd#||ddf|dfS('Niispy:is s s s Rcs.Multi-line py blocks must start with a newlineRRRuRvRwRxscontinue outside of for loopsif selif Rs%s outside of an if blocktiftelifs%s with no expressionRRRs Unexpected %ssfor sdefault sinherit sdef t#RRz(scontinuesbreak(R Rsfor(RRR( R3RRt startswithtlstriptreplaceRt parse_condRt parse_fort parse_defaultt parse_inheritt parse_def(RRtcontextRzR~((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR <sb            cCs|dd}g}|d }x|ptdd|d|nt|dto4|dddjod|ft||dfSt|||\}}|i|q!dS( NiiR sMissing {{endif}}RRRRy(sif(RR3Rtparse_one_condRq(RRRRtpiecesR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRqs c Cs|d|d\}}}g}|ido|d }n|ido d||di|f}no|ido d ||d i|f}n?|d jod |d|f}ndptd ||fx|ptd d|d|nt|dtoM|dddjp-|ddidp|ddd jo ||fSt|||\}}|i |qdS(Niit:isif R iselif RiRsUnexpected token %r at %ss No {{endif}}RRR( R=RRRR5RR3RR Rq(RRRtfirstR~R/RR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs.    c Cs|d\}}|d}d|}g}|idpt|ido|d }n|di}ti|}|p td|d |d |n||i }d |jo td |d |d |ntg}||i i d D]$} | io|| iqq~}||i } x|ptdd |d |nt |dto3|dddjod||| |f|dfSt |||\} }|i | qFdS(NiiRxsfor RiisBad for (no "in") in %rRRt(s=You cannot have () in the variable section of a for loop (%r)t,s No {{endfor}}R(sfor(RR5R=Rtin_reRRRRRRR3R Rq( RRRRR~R/RRRBRRzR((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs@    $*cCs|d\}}|idpt|iddd}|idd}t|djo td|d|d|n|di}d|jotd d|d|nti|p td |d|d|n|di}d |||f|dfS( Nisdefault it=s:Expression must be {{default var=value}}; no = found in %rRRRs'{{default x, y = ...}} is not supporteds-Not a valid variable name for {{default}}: %rR|( RR5RRR1RRtvar_reR(RRRRR~RhRRz((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs&  cCsT|d\}}|idpt|iddd}d||f|dfS(Nisinherit iR_(RR5RR(RRRRR~Rz((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRsc Cs|d\}}|d}|idpt|iddd}|ido|d }nd|jo|}dddhf}ne|idp td|d |d |n5|d }|idd\}}t|||}|d}g}x|ptd d |d |nt|dto3|ddd jod ||||f|dfSt |||\} }|i | qdS(Niisdef RiRt)s*Function definition doesn't end with ): %sRRR}sMissing {{enddef}}R((sdef( RR5RRR=Rtparse_signatureR3RR Rq( RRRRRRtsigtsig_textR/R((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyRs6     cstit|ig}d}d}h}tfd}x^d}|\} } | tijoPn| tijo3| djp | djo| }|\} } n| tijo t d|d|d|n| } |\} } | tijp| tijod| djoW|djo | }n%|djo | }n|i | | tijoPqEqEn|dj o t d|d|d|n| tijo| djod} d} d }d}}g}x|t \} } }}|djo |}n|}| tijo'|o t d|d|d|n| o[| tijp| tijo;| djo.t |||}||| <|i | Pn|i | | f|o+| tijo| | jo|d 7}q|o@| tijo0| | jo#|d 8}|pd} } qq| oL| tijo<| djo/| } d }hdd 6dd 6dd 6| } qqqEqE||||fS(Ncs}y+t\}}\}}\}}}Wntj otidfSX|o||||f||ffS||fSdS(NRc(Rt StopIterationttokenizet ENDMARKER(R~ttok_typet tok_stringtsrowtscolterowtecoltline(R(sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt get_tokens+t*s**sInvalid signature: (%s)RRRR iiRt[t{R"t]t}(RR2R3( R'tgenerate_tokensRtreadlineRRR(tOPtNAMERRqRdtisolate_expression(R%RR~Rtvar_argRRR0t var_arg_typeR)R*tvar_namet nest_typet unnest_typet nest_countt start_postend_posRhRRt default_expr((RsA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR#s~ * -           -  $$ %-c Cs|\}}|d8}|\}}|d8}|it}||jo||||!S|||g}|i||d|!|t|jo|i||| ndi|S(NiRc(RRdtextendR1RqR( R RARBR+R,R-R.tlinesRh((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyR:Gs     sn%prog [OPTIONS] TEMPLATE arg=value Use py:arg=value to set a Python value; otherwise all values are strings. cCsddk}ddk}ddk}ddk}|djo|id}n|id}|idt|dt }|i dddd d d d d |i dddddd d|i dddddd d|i |\}}t |djodGH|i dn|d}|d}h} |io| i|inx|D]y} d| jod| GH|i dn| idd\} } | ido| d } t| } n| | | RGRtwb(R8toptparset pkg_resourcesR"Rtargvtget_distributiont OptionParserRt_fill_command_usaget add_optiont parse_argsR1texitRPRXtenvironRRRtstdinRIRHRJRMR R R`RItwritetstdout(RR8RSRTR"tdisttparsertoptionst template_nameRRpRttemplate_contentROt TemplateClassRR]((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pyt fill_command^sx                       t__main__(DRRR8RturllibRRR"R't cStringIORttempita._looperRttempita.compat3RRRRRt__all__RRtIR!RRRRR(RR RR RRRR RdRRRR R RRiRRRRRRRRRRR>R RRRRRRR#R:RXRfR(((sA/opt/alt/python27/lib/python2.7/site-packages/tempita/__init__.pytsn     (  $  %    M   > ; = 5   #    L  @