Home / Function/ _get_source_explained() — flask Function Reference

_get_source_explained() — flask Function Reference

Architecture documentation for the _get_source_explained() function in templating.py from the flask codebase.

Entity Profile

Dependency Diagram

graph TD
  a0ae334c_2e07_622b_8d12_f4de60d403d1["_get_source_explained()"]
  ce7c5a28_2f4c_e0c5_2d77_2fb8ab5e5b96["DispatchingJinjaLoader"]
  a0ae334c_2e07_622b_8d12_f4de60d403d1 -->|defined in| ce7c5a28_2f4c_e0c5_2d77_2fb8ab5e5b96
  b3cc43b1_0505_0227_784f_924230ab33b2["get_source()"]
  b3cc43b1_0505_0227_784f_924230ab33b2 -->|calls| a0ae334c_2e07_622b_8d12_f4de60d403d1
  8030a5bc_ccd5_2b7d_46af_a753d088616b["_iter_loaders()"]
  a0ae334c_2e07_622b_8d12_f4de60d403d1 -->|calls| 8030a5bc_ccd5_2b7d_46af_a753d088616b
  b3cc43b1_0505_0227_784f_924230ab33b2["get_source()"]
  a0ae334c_2e07_622b_8d12_f4de60d403d1 -->|calls| b3cc43b1_0505_0227_784f_924230ab33b2
  20e2a035_64d0_0672_da27_0120172d5eff["explain_template_loading_attempts()"]
  a0ae334c_2e07_622b_8d12_f4de60d403d1 -->|calls| 20e2a035_64d0_0672_da27_0120172d5eff
  style a0ae334c_2e07_622b_8d12_f4de60d403d1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/flask/templating.py lines 63–85

    def _get_source_explained(
        self, environment: BaseEnvironment, template: str
    ) -> tuple[str, str | None, t.Callable[[], bool] | None]:
        attempts = []
        rv: tuple[str, str | None, t.Callable[[], bool] | None] | None
        trv: None | (tuple[str, str | None, t.Callable[[], bool] | None]) = None

        for srcobj, loader in self._iter_loaders(template):
            try:
                rv = loader.get_source(environment, template)
                if trv is None:
                    trv = rv
            except TemplateNotFound:
                rv = None
            attempts.append((loader, srcobj, rv))

        from .debughelpers import explain_template_loading_attempts

        explain_template_loading_attempts(self.app, template, attempts)

        if trv is not None:
            return trv
        raise TemplateNotFound(template)

Subdomains

Called By

Frequently Asked Questions

What does _get_source_explained() do?
_get_source_explained() is a function in the flask codebase, defined in src/flask/templating.py.
Where is _get_source_explained() defined?
_get_source_explained() is defined in src/flask/templating.py at line 63.
What does _get_source_explained() call?
_get_source_explained() calls 3 function(s): _iter_loaders, explain_template_loading_attempts, get_source.
What calls _get_source_explained()?
_get_source_explained() is called by 1 function(s): get_source.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free