/usr/local/lib/python3.6/site-packages/jinja2/__pycache__
NameSizeModeActions
async_utils.cpython-36.pyc24350644editdlrm
bccache.cpython-36.pyc130970644editdlrm
compiler.cpython-36.pyc543690644editdlrm
constants.cpython-36.pyc14960644editdlrm
debug.cpython-36.pyc53440644editdlrm
defaults.cpython-36.pyc12410644editdlrm
environment.cpython-36.pyc523970644editdlrm
exceptions.cpython-36.pyc54980644editdlrm
ext.cpython-36.pyc262740644editdlrm
filters.cpython-36.pyc497540644editdlrm
idtracking.cpython-36.pyc111250644editdlrm
lexer.cpython-36.pyc199830644editdlrm
loaders.cpython-36.pyc202170644editdlrm
meta.cpython-36.pyc37460644editdlrm
nativetypes.cpython-36.pyc48050644editdlrm
nodes.cpython-36.pyc411930644editdlrm
optimizer.cpython-36.pyc18610644editdlrm
parser.cpython-36.pyc276350644editdlrm
runtime.cpython-36.pyc328630644editdlrm
sandbox.cpython-36.pyc116960644editdlrm
tests.cpython-36.pyc64820644editdlrm
utils.cpython-36.pyc272170644editdlrm
visitor.cpython-36.pyc38390644editdlrm
_identifier.cpython-36.pyc18500644editdlrm
__init__.cpython-36.pyc18650644editdlrm
Edit: /usr/local/lib/python3.6/site-packages/jinja2/__pycache__/meta.cpython-36.pyc (3746B)
3 ^TBg,ã@sºdZddlZddlmZddlmZddlmZejrBddl m Z Gdd „d eƒZ ej ej ed œd d „ZejejejejfZejejejejejfZej ejejed œd d„ZdS)z_Functions that expose information about templates that might be interesting for introspection. éNé)Únodes)Ú CodeGenerator)ÚFrame)Ú EnvironmentcsLeZdZdZdddœ‡fdd„ Zeddœdd „Zedd œ‡fd d „ Z‡Z S) ÚTrackingCodeGeneratorz.We abuse the code generator for introspection.rN)Ú environmentÚreturncstƒj|ddƒtƒ|_dS)Nz)ÚsuperÚ__init__ÚsetÚundeclared_identifiers)Úselfr)Ú __class__©ú-/tmp/pip-build-0s3hx122/Jinja2/jinja2/meta.pyr szTrackingCodeGenerator.__init__)Úxr cCsdS)z Don't write.Nr)rrrrrÚwriteszTrackingCodeGenerator.write)Úframer csNtƒj|ƒx<|jjjƒD],\}\}}|dkr||jjkr|jj|ƒqWdS)z$Remember all undeclared identifiers.ÚresolveN) r Ú enter_frameÚsymbolsÚloadsÚitemsrÚglobalsr Úadd)rrÚ_ÚactionÚparam)rrrrs z!TrackingCodeGenerator.enter_frame) Ú__name__Ú __module__Ú __qualname__Ú__doc__r ÚstrrrrÚ __classcell__rr)rrrsr)Úastr cCst|jƒ}|j|ƒ|jS)aReturns a set of all variables in the AST that will be looked up from the context at runtime. Because at compile time it's not known which variables will be used depending on the path the execution takes at runtime, all variables are returned. >>> from jinja2 import Environment, meta >>> env = Environment() >>> ast = env.parse('{% set foo = 42 %}{{ bar + foo }}') >>> meta.find_undeclared_variables(ast) == {'bar'} True .. admonition:: Implementation Internally the code generator is used for finding undeclared variables. This is good to know because the code generator might raise a :exc:`TemplateAssertionError` during compilation and as a matter of fact this function can currently raise that exception as well. )rrZvisitr )r%ZcodegenrrrÚfind_undeclared_variables!s  r&ccsØxÒ|jtƒD]Ä}|j}t|tjƒsvt|tjtjfƒrnx>|jD],}t|tjƒrbt|j t ƒrh|j Vq>> from jinja2 import Environment, meta >>> env = Environment() >>> ast = env.parse('{% extends "layout.html" %}{% include helper %}') >>> list(meta.find_referenced_templates(ast)) ['layout.html', None] This function is useful for dependency tracking. For example if you want to rebuild parts of the website after a layout template has changed. N)Zfind_allÚ _ref_typesÚtemplateÚ isinstancerZConstZTupleZListrÚvaluer#ÚIncludeÚtupleÚlist)r%Únoder(Z template_namerrrÚfind_referenced_templates=s&           r/)r"ZtypingÚtÚrÚcompilerrrZ TYPE_CHECKINGrrrÚTemplateÚSetr#r&ZExtendsZ FromImportZImportr+r'ÚUnionZ_RefTypeÚIteratorÚOptionalr/rrrrÚs