Mercurial > hg-stable
diff mercurial/help.py @ 43877:1390bb81163e
help: get helptext/ data from `resources` module if available
For PyOxidizer, we need to read configs using the `resources`
module. This patch makes it so we use that module if available
(i.e. Python >= 3.7). It does that by adding a new `open_resource()`
function to our `resourceutil` module.
Tested by running `$PYTHON ./hg help pager` for each $PYTHON in
{python2, python3.6, python3.7}.
Differential Revision: https://phab.mercurial-scm.org/D7622
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 12 Dec 2019 12:57:13 -0800 |
parents | 5be909dbe385 |
children | 52f0140c2604 |
line wrap: on
line diff
--- a/mercurial/help.py Thu Dec 12 10:26:09 2019 -0800 +++ b/mercurial/help.py Thu Dec 12 12:57:13 2019 -0800 @@ -8,7 +8,6 @@ from __future__ import absolute_import import itertools -import os import re import textwrap @@ -314,11 +313,11 @@ """Return a delayed loader for help/topic.txt.""" def loader(ui): - docdir = os.path.join(resourceutil.datapath, b'helptext') + package = b'helptext' if subdir: - docdir = os.path.join(docdir, subdir) - path = os.path.join(docdir, topic + b".txt") - doc = gettext(util.readfile(path)) + package = b'helptext' + b'.' + subdir + with resourceutil.open_resource(package, topic + b'.txt') as fp: + doc = gettext(fp.read()) for rewriter in helphooks.get(topic, []): doc = rewriter(ui, topic, doc) return doc