Files
aitsc/.venv/Lib/site-packages/flask/__pycache__/templating.cpython-312.pyc

73 lines
9.6 KiB
Plaintext
Raw Normal View History

2025-02-23 09:07:52 +08:00
<EFBFBD>
2025-08-17 18:52:05 +08:00
-<2D><>hL<00><01>d<00>ddlmZddlZddlmZddlmZddlmZddlm Z ddl
2025-02-23 09:07:52 +08:00
m Z dd l
m Z dd
l
m Z dd l
mZdd lmZdd lmZddlmZej(rddlmZddlmZddlmZdd<12>ZGd<13>de<07>ZGd<15>de<05>Zdd<17>Z dd<18>Zd d<19>Z d!d<1A>Z d"d<1B>Z!d#d<1C>Z"y)$<24>)<01> annotationsN)<01>
BaseLoader)<01> Environment)<01>Template)<01>TemplateNotFound<6E>)<01>_cv_app)<01> _cv_request)<01> current_app)<01>request)<01>stream_with_context)<01>before_render_template)<01>template_rendered)<01>Flask)<01>App)<01>Scaffoldc<01><><00>tjd<01>}tjd<01>}i}|<00>|j|d<|<01>|j|d<|j
|d<|S)zSDefault template context processor. Injects `request`,
`session` and `g`.
N<>gr <00>session)r <00>getr
2025-08-16 19:28:45 +08:00
rr r)<03>appctx<74>reqctx<74>rvs <20>4D:\aitsc\.venv\Lib\site-packages\flask\templating.py<70>_default_template_ctx_processorrs]<00><00><15>[<5B>[<5B><14> <1E>F<EFBFBD> <18>_<EFBFBD>_<EFBFBD>T<EFBFBD> "<22>F<EFBFBD><1D>B<EFBFBD> <0A><19><18>(<28>(<28><02>3<EFBFBD><07> <0A><19><1E><0E><0E><02>9<EFBFBD> <0A><1E><0E><0E><02>9<EFBFBD> <0A> <0A>I<EFBFBD>c<01><00>eZdZdZdd<02>Zy)rz<>Works like a regular Jinja2 environment but has some additional
2025-02-23 09:07:52 +08:00
knowledge of how Flask's blueprint works so that it can prepend the
name of the blueprint to referenced templates if necessary.
c <01>l<00>d|vr|j<00>|d<tj|fi|<02><01>||_y)N<>loader)<04>create_global_jinja_loader<65>BaseEnvironment<6E>__init__<5F>app)<03>selfr#<00>optionss rr"zEnvironment.__init__-s7<00><00> <13>7<EFBFBD> "<22> #<23> ><3E> ><3E> @<40>G<EFBFBD>H<EFBFBD> <1D><17> <20> <20><14>1<><17>1<><16><04>rN)r#rr%<00>t.Any<6E>return<72>None)<05>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__r"<00>rrrr's <00><00><08>
rrc<01>d<00>eZdZdZd d<02>Z d
d<03>Z d
d<04>Z d
d<05>Zd d<06>Zd d<07>Z y) <0A>DispatchingJinjaLoaderz\A loader that looks for templates in the application and all
the blueprint folders.
c<01><00>||_y<00>N)r#)r$r#s rr"zDispatchingJinjaLoader.__init__9s <00><00><16><04>rc<01>|<00>|jjdr|j||<02>S|j||<02>S)N<>EXPLAIN_TEMPLATE_LOADING)r#<00>config<69>_get_source_explained<65>_get_source_fast)r$<00> environment<6E>templates r<00>
get_sourcez!DispatchingJinjaLoader.get_source<s;<00><00> <10>8<EFBFBD>8<EFBFBD>?<3F>?<3F>5<> 6<><17>-<2D>-<2D>k<EFBFBD>8<EFBFBD>D<> D<><13>$<24>$<24>[<5B>(<28>;<3B>;rc<01><00>g}d}|j|<02>D]0\}} |j||<02>}|<04>|}|j|||f<03><00>2ddlm}||j ||<03>|<04>|St|<02><00>#t$rd}Y<00>LwxYw)Nr)<01>!explain_template_loading_attempts)<07> _iter_loadersr9r<00>append<6E> debughelpersr;r#) r$r7r8<00>attempts<74>trv<72>srcobjrrr;s rr5z,DispatchingJinjaLoader._get_source_explainedCs<><00><00><16><08>LP<4C><03>"<22>0<>0<><18>:<3A>N<EFBFBD>F<EFBFBD>F<EFBFBD> <1A><1B>&<26>&<26>{<7B>H<EFBFBD>=<3D><02><16>;<3B><1C>C<EFBFBD> <15>O<EFBFBD>O<EFBFBD>V<EFBFBD>V<EFBFBD>R<EFBFBD>0<> 1<>;<3B> D<01>)<29>$<24>(<28>(<28>H<EFBFBD>h<EFBFBD>G<> <0E>?<3F><16>J<EFBFBD><1E>x<EFBFBD>(<28>(<28><>$<24> <1A><19><02> <1A>s<00>A2<02>2 B<05>?Bc<01><><00>|j|<02>D]\}} |j||<02>cSt|<02><00>#t$rY<00>2wxYwr1)r<r9r)r$r7r8<00>_srcobjrs rr6z'DispatchingJinjaLoader._get_source_fast[sV<00><00> $<24>1<>1<>(<28>;<3B>O<EFBFBD>G<EFBFBD>V<EFBFBD> <19><1D>(<28>(<28><1B>h<EFBFBD>?<3F>?<3F> <<3C>
<1F>x<EFBFBD>(<28>(<28><>$<24> <19><18> <19>s<00>9<02> A<05>Ac#<01><>K<00>|jj}|<02>|j|f<02><01>|jj<00>D]}|j}|<02><01>||f<02><01><00>y<00>wr1)r#<00> jinja_loader<65>iter_blueprints)r$r8r<00> blueprints rr<z$DispatchingJinjaLoader._iter_loaderses]<00><00><><00><15><18><18>&<26>&<26><06> <11> <1D><16>(<28>(<28>F<EFBFBD>"<22> "<22><1D><18><18>1<>1<>3<>I<EFBFBD><1E>+<2B>+<2B>F<EFBFBD><15>!<21><1F><16>'<27>'<27>4<>s <00>AA <01> A c<01>B<00>t<00>}|jj}|<02>|j|j <00><00>|jj <00>D]7}|j}|<02><01>|j <00>D]}|j |<04><00><00>9t|<01>Sr1)<08>setr#rE<00>update<74>list_templatesrF<00>add<64>list)r$<00>resultrrGr8s rrKz%DispatchingJinjaLoader.list_templatesos<><00><00><14><15><06><15><18><18>&<26>&<26><06> <11> <1D> <12>M<EFBFBD>M<EFBFBD>&<26>/<2F>/<2F>1<> 2<><1D><18><18>1<>1<>3<>I<EFBFBD><1E>+<2B>+<2B>F<EFBFBD><15>!<21> &<26> 5<> 5<> 7<>H<EFBFBD><1A>J<EFBFBD>J<EFBFBD>x<EFBFBD>(<28>!8<>4<> <14>F<EFBFBD>|<7C>rN)r#rr'r()r7r!r8<00>strr'z3tuple[str, str | None, t.Callable[[], bool] | None])r8rOr'z't.Iterator[tuple[Scaffold, BaseLoader]])r'z list[str])
r)r*r+r,r"r9r5r6r<rKr-rrr/r/4sm<00><00><08><17><<3C>*<2A><<3C>69<36><<3C> <<3C><<3C>)<29>*<2A>)<29>69<36>)<29> <<3C>)<29>0)<29>*<2A>)<29>69<36>)<29> <<3C>)<29>(<28> rr/c<01><><00>|j|<02>tj||j||<02><01>|j |<02>}t j||j||<02><01>|S<00>N<><03>_async_wrapperr8<00>context)<06>update_template_contextr<00>send<6E> ensure_sync<6E>renderr)r#r8rTrs r<00>_renderrY~s]<00><00><07><1F><1F><07>(<28><1A><1F><1F> <0B>C<EFBFBD>O<EFBFBD>O<EFBFBD>h<EFBFBD><07><06>
<12><1F><1F><17> !<21>B<EFBFBD><15><1A><1A> <0B>C<EFBFBD>O<EFBFBD>O<EFBFBD>h<EFBFBD><07><06> <0E>Irc <01>z<00>tj<00>}|jj|<00>}t |||<01>S)aRender a template by name with the given context.
:param template_name_or_list: The name of the template to render. If
a list is given, the first name to exist will be rendered.
:param context: The variables to make available in the template.
)r <00>_get_current_object<63> jinja_env<6E>get_or_select_templaterY<00><04>template_name_or_listrTr#r8s r<00>render_templater`<00>s6<00><00> <16>
)<29>
)<29>
+<2B>C<EFBFBD><12>}<7D>}<7D>3<>3<>4I<34>J<>H<EFBFBD> <12>3<EFBFBD><08>'<27> *<2A>*rc <01>z<00>tj<00>}|jj|<00>}t |||<01>S)z<>Render a template from the given source string with the given
context.
:param source: The source code of the template to render.
:param context: The variables to make available in the template.
)r r[r\<00> from_stringrY<00><04>sourcerTr#r8s r<00>render_template_stringre<00>s5<00><00> <16>
)<29>
)<29>
+<2B>C<EFBFBD><12>}<7D>}<7D>(<28>(<28><16>0<>H<EFBFBD> <12>3<EFBFBD><08>'<27> *<2A>*rc<01><><00><00><01><02><00>j<00><02>tj<00><00>j<00><01><02><01>d<03><00><02>fd<02> }|<03>}tr t |<04>}|S)NrRc3<01><><00>K<00><00>j<00><01>Ed{<00><02><02>tj<00><00>j<00><02><01><01>y7<00>(<28>wrQ)<04>generaterrVrW)r#rTr8s<00><><EFBFBD>rrhz_stream.<locals>.generate<74>s;<00><><00><><00><1B>$<24>$<24>W<EFBFBD>-<2D>-<2D>-<2D><19><1E><1E> <0F><03><0F><0F>(<28>G<EFBFBD>
<EFBFBD> .<2E>s<00>A<01>A<04>)A)r'<00>t.Iterator[str])rUrrVrWr r )r#r8rTrhrs``` r<00>_streamrj<00>sP<00><><00><08><1F><1F><07>(<28><1A><1F><1F> <0B>C<EFBFBD>O<EFBFBD>O<EFBFBD>h<EFBFBD><07><06>
<EFBFBD>
<12><1A>B<EFBFBD><0F> <20><12> $<24><02> <0A>Irc <01>z<00>tj<00>}|jj|<00>}t |||<01>S)a<>Render a template by name with the given context as a stream.
This returns an iterator of strings, which can be used as a
streaming response from a view.
:param template_name_or_list: The name of the template to render. If
a list is given, the first name to exist will be rendered.
:param context: The variables to make available in the template.
.. versionadded:: 2.2
)r r[r\r]rjr^s r<00>stream_templaterl<00>s6<00><00> <16>
)<29>
)<29>
+<2B>C<EFBFBD><12>}<7D>}<7D>3<>3<>4I<34>J<>H<EFBFBD> <12>3<EFBFBD><08>'<27> *<2A>*rc <01>z<00>tj<00>}|jj|<00>}t |||<01>S)aZRender a template from the given source string with the given
context as a stream. This returns an iterator of strings, which can
be used as a streaming response from a view.
:param source: The source code of the template to render.
:param context: The variables to make available in the template.
.. versionadded:: 2.2
)r r[r\rbrjrcs r<00>stream_template_stringrn<00>s5<00><00> <16>
)<29>
)<29>
+<2B>C<EFBFBD><12>}<7D>}<7D>(<28>(<28><16>0<>H<EFBFBD> <12>3<EFBFBD><08>'<27> *<2A>*r)r'<00>dict[str, t.Any])r#rr8rrTror'rO)r_<00>%str | Template | list[str | Template]rTr&r'rO)rdrOrTr&r'rO)r#rr8rrTror'ri)r_rprTr&r'ri)rdrOrTr&r'ri)#<23>
__future__r<00>typing<6E>t<>jinja2rrr!rr<00>globalsr r
r r <00>helpersr <00>signalsrr<00> TYPE_CHECKINGr#r<00>
sansio.appr<00>sansio.scaffoldrrr/rYr`rerjrlrnr-rr<00><module>r{s<><00><01>"<22><12><1D>1<><1B>#<23><1C> <20> <20><1C>(<28>+<2B>&<26><04>?<3F>?<3F><1A><1F>)<29> <0E>
<17>/<2F>
<17>G<1C>Z<EFBFBD>G<1C>T <0E> +<2B>@<40> +<2B><14> +<2B> <09> +<2B> +<2B><0E> <0E><0E>"<22><0E>-=<3D><0E><14><0E>.+<2B>@<40>+<2B><14>+<2B><15>+<2B>& +r