Mercurial > hg-stable
changeset 45339:1a4f925f72c3
hgweb: enable reading styles from resources in frozen binaries
All we need to do to read styles from resources is to pass the
file-like object we get from `open_template()` on to `frommapfile()`.
This takes the number of failing tests with PyOxidizer from 62 to 54.
Differential Revision: https://phab.mercurial-scm.org/D8901
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 05 Aug 2020 14:19:42 -0700 |
parents | c37ab438ff31 |
children | 6e6fe826ba69 |
files | mercurial/hgweb/hgweb_mod.py mercurial/hgweb/hgwebdir_mod.py |
diffstat | 2 files changed, 10 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hgweb/hgweb_mod.py Wed Aug 05 14:03:45 2020 -0700 +++ b/mercurial/hgweb/hgweb_mod.py Wed Aug 05 14:19:42 2020 -0700 @@ -80,7 +80,7 @@ for location in locations: mapfile, fp = templater.open_template(location, path) if mapfile: - return style, mapfile + return style, mapfile, fp raise RuntimeError(b"No hgweb templates found in %r" % path) @@ -180,7 +180,9 @@ # figure out which style to use vars = {} - styles, (style, mapfile) = getstyle(req, self.config, self.templatepath) + styles, (style, mapfile, fp) = getstyle( + req, self.config, self.templatepath + ) if style == styles[0]: vars[b'style'] = style @@ -223,10 +225,9 @@ yield self.config(b'web', b'motd') tres = formatter.templateresources(self.repo.ui, self.repo) - tmpl = templater.templater.frommapfile( - mapfile, filters=filters, defaults=defaults, resources=tres + return templater.templater.frommapfile( + mapfile, fp=fp, filters=filters, defaults=defaults, resources=tres ) - return tmpl def sendtemplate(self, name, **kwargs): """Helper function to send a response generated from a template."""
--- a/mercurial/hgweb/hgwebdir_mod.py Wed Aug 05 14:03:45 2020 -0700 +++ b/mercurial/hgweb/hgwebdir_mod.py Wed Aug 05 14:19:42 2020 -0700 @@ -542,7 +542,7 @@ return self.ui.config(*args, **kwargs) vars = {} - styles, (style, mapfile) = hgweb_mod.getstyle( + styles, (style, mapfile, fp) = hgweb_mod.getstyle( req, config, self.templatepath ) if style == styles[0]: @@ -577,5 +577,6 @@ else: yield config(b'web', b'motd') - tmpl = templater.templater.frommapfile(mapfile, defaults=defaults) - return tmpl + return templater.templater.frommapfile( + mapfile, fp=fp, defaults=defaults + )