Mercurial > hg-stable
comparison mercurial/templater.py @ 45245:8ec3062b7047
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
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 21 Jul 2020 21:59:12 -0700 |
parents | 4e9b39033d3f |
children | 4ccd5ec565c2 |
comparison
equal
deleted
inserted
replaced
45244:f7f142d74df3 | 45245:8ec3062b7047 |
---|---|
822 hint=_(b"available styles: %s") % stylelist(), | 822 hint=_(b"available styles: %s") % stylelist(), |
823 ) | 823 ) |
824 | 824 |
825 base = os.path.dirname(mapfile) | 825 base = os.path.dirname(mapfile) |
826 conf = config.config(includepaths=[templatedir()]) | 826 conf = config.config(includepaths=[templatedir()]) |
827 conf.read(mapfile, remap={b'': b'templates'}) | 827 |
828 def include(rel, abs, remap, sections): | |
829 data = util.posixfile(abs, b'rb').read() | |
830 conf.parse(abs, data, sections=sections, remap=remap, include=include) | |
831 | |
832 data = util.posixfile(mapfile, b'rb').read() | |
833 conf.parse(mapfile, data, remap={b'': b'templates'}, include=include) | |
828 | 834 |
829 cache = {} | 835 cache = {} |
830 tmap = {} | 836 tmap = {} |
831 aliases = [] | 837 aliases = [] |
832 | 838 |