Mercurial > hg
changeset 45307:ba50c8a95e2b
templater: move stylemap() to hgweb_mod, since that's its only user
`stylemap()` even has an error message that mentions "hgweb
templates", so it seems that it's meant specifically for hgweb.
Differential Revision: https://phab.mercurial-scm.org/D8890
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 04 Aug 2020 09:13:10 -0700 |
parents | 9a5c4875a88c |
children | dc10bcd5c08d |
files | mercurial/hgweb/hgweb_mod.py mercurial/templater.py |
diffstat | 2 files changed, 35 insertions(+), 35 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hgweb/hgweb_mod.py Mon Aug 03 22:15:45 2020 -0700 +++ b/mercurial/hgweb/hgweb_mod.py Tue Aug 04 09:13:10 2020 -0700 @@ -53,7 +53,41 @@ configfn(b'web', b'style'), b'paper', ) - return styles, templater.stylemap(styles, templatepath) + return styles, _stylemap(styles, templatepath) + + +def _stylemap(styles, path=None): + """Return path to mapfile for a given style. + + Searches mapfile in the following locations: + 1. templatepath/style/map + 2. templatepath/map-style + 3. templatepath/map + """ + + if path is None: + path = templater.templatedir() + + if path is not None: + for style in styles: + # only plain name is allowed to honor template paths + if ( + not style + or style in (pycompat.oscurdir, pycompat.ospardir) + or pycompat.ossep in style + or pycompat.osaltsep + and pycompat.osaltsep in style + ): + continue + locations = [os.path.join(style, b'map'), b'map-' + style] + locations.append(b'map') + + for location in locations: + mapfile = os.path.join(path, location) + if os.path.isfile(mapfile): + return style, mapfile + + raise RuntimeError(b"No hgweb templates found in %r" % path) def makebreadcrumb(url, prefix=b''):
--- a/mercurial/templater.py Mon Aug 03 22:15:45 2020 -0700 +++ b/mercurial/templater.py Tue Aug 04 09:13:10 2020 -0700 @@ -1075,37 +1075,3 @@ if f and os.path.isfile(f): return f return None - - -def stylemap(styles, path=None): - """Return path to mapfile for a given style. - - Searches mapfile in the following locations: - 1. templatepath/style/map - 2. templatepath/map-style - 3. templatepath/map - """ - - if path is None: - path = templatedir() - - if path is not None: - for style in styles: - # only plain name is allowed to honor template paths - if ( - not style - or style in (pycompat.oscurdir, pycompat.ospardir) - or pycompat.ossep in style - or pycompat.osaltsep - and pycompat.osaltsep in style - ): - continue - locations = [os.path.join(style, b'map'), b'map-' + style] - locations.append(b'map') - - for location in locations: - mapfile = os.path.join(path, location) - if os.path.isfile(mapfile): - return style, mapfile - - raise RuntimeError(b"No hgweb templates found in %r" % path)