Skip to content
Snippets Groups Projects
Commit 8ec3062b authored by Martin von Zweigbergk's avatar Martin von Zweigbergk
Browse files

templater: switch to lower-level config.parse() in _readmapfile()

I hope to modify this code to also work with resources loaded from
memory (for PyOxidizer support). For that, we'll need to handle the
lookup of relative `%include` path (not joined with the base directory
of the containing file). This patch prepares for that by using
`config.parse()` instead of `config.read()`, since the latter expects
a file in the file system.

As it happens, this change also lets us clean up the `config` class to
not need the `_includepaths` field. That will happen next.

Differential Revision: https://phab.mercurial-scm.org/D8791
parent f7f142d7
No related branches found
No related tags found
No related merge requests found
......@@ -824,7 +824,13 @@
base = os.path.dirname(mapfile)
conf = config.config(includepaths=[templatedir()])
conf.read(mapfile, remap={b'': b'templates'})
def include(rel, abs, remap, sections):
data = util.posixfile(abs, b'rb').read()
conf.parse(abs, data, sections=sections, remap=remap, include=include)
data = util.posixfile(mapfile, b'rb').read()
conf.parse(mapfile, data, remap={b'': b'templates'}, include=include)
cache = {}
tmap = {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment