MCPcopy
hub / github.com/Nuitka/Nuitka / getEnvironment

Function getEnvironment

nuitka/utils/Jinja2.py:108–147  ·  view source on GitHub ↗
(package_name, template_subdir, extensions)

Source from the content-addressed store, hash-verified

106
107
108def getEnvironment(package_name, template_subdir, extensions):
109 key = package_name, template_subdir, extensions
110
111 if key not in environments:
112 jinja2 = getJinja2Package()
113
114 if package_name is not None:
115 template_path = _getTemplateSubDirectory(
116 package_name=package_name, template_subdir=template_subdir
117 )
118
119 if template_path is not None:
120 loader = jinja2.FileSystemLoader(template_path)
121 else:
122 loader = jinja2.PackageLoader(package_name, template_subdir)
123 elif template_subdir is not None:
124 loader = jinja2.FileSystemLoader(template_subdir)
125 else:
126 loader = jinja2.BaseLoader()
127
128 env = jinja2.Environment(
129 loader=loader,
130 extensions=extensions,
131 trim_blocks=True,
132 lstrip_blocks=True,
133 )
134
135 # For shared global functions.
136 env.globals.update(
137 {
138 "unlikely_if": unlikely_if,
139 "unlikely_or_likely_from": unlikely_or_likely_from,
140 }
141 )
142
143 env.undefined = jinja2.StrictUndefined
144
145 environments[key] = env
146
147 return environments[key]
148
149
150def getTemplate(

Callers 3

getTemplateFunction · 0.85
getTemplateCFunction · 0.85
getTemplateFromStringFunction · 0.85

Calls 3

getJinja2PackageFunction · 0.85
_getTemplateSubDirectoryFunction · 0.85
updateMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…