aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/Jinja2/py3/patches/01-arcadia.patch
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/python/Jinja2/py3/patches/01-arcadia.patch')
-rw-r--r--contrib/python/Jinja2/py3/patches/01-arcadia.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/python/Jinja2/py3/patches/01-arcadia.patch b/contrib/python/Jinja2/py3/patches/01-arcadia.patch
new file mode 100644
index 0000000000..03688772ca
--- /dev/null
+++ b/contrib/python/Jinja2/py3/patches/01-arcadia.patch
@@ -0,0 +1,30 @@
+--- contrib/python/Jinja2/py3/jinja2/__init__.py (index)
++++ contrib/python/Jinja2/py3/jinja2/__init__.py (working tree)
+@@ -22,6 +22,7 @@ from .loaders import FunctionLoader
+ from .loaders import ModuleLoader as ModuleLoader
+ from .loaders import PackageLoader as PackageLoader
+ from .loaders import PrefixLoader as PrefixLoader
++from .loaders import ResourceLoader as ResourceLoader
+ from .runtime import ChainableUndefined as ChainableUndefined
+ from .runtime import DebugUndefined as DebugUndefined
+ from .runtime import make_logging_undefined as make_logging_undefined
+--- contrib/python/Jinja2/py3/jinja2/loaders.py (index)
++++ contrib/python/Jinja2/py3/jinja2/loaders.py (working tree)
+@@ -659,3 +659,17 @@ class ModuleLoader(BaseLoader):
+ return environment.template_class.from_module_dict(
+ environment, mod.__dict__, globals
+ )
++
++
++class ResourceLoader(BaseLoader):
++ def __init__(self, prefix, module_loader):
++ self.prefix = prefix
++ self.module_loader = module_loader
++
++ def get_source(self, environment, template):
++ if self.module_loader is None:
++ raise TemplateNotFound(template)
++ try:
++ return self.module_loader.get_data(os.path.join(self.prefix, template)).decode('utf-8'), None, None
++ except IOError:
++ raise TemplateNotFound(template)