[Updated] D11288: template: handle missing resource in `_readmapfile`
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Thu Aug 19 01:19:24 UTC 2021
Closed by commit rHGf3b1df44b716: template: handle missing resource in `_readmapfile` (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D11288?vs=29912&id=29939
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D11288/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D11288
AFFECTED FILES
mercurial/templater.py
mercurial/utils/resourceutil.py
CHANGE DETAILS
diff --git a/mercurial/utils/resourceutil.py b/mercurial/utils/resourceutil.py
--- a/mercurial/utils/resourceutil.py
+++ b/mercurial/utils/resourceutil.py
@@ -64,6 +64,11 @@
# Force loading of the resources module
resources.open_binary # pytype: disable=module-attr
+ # pytype: disable=import-error
+ from importlib.resources import FileNotFoundError
+
+ # pytype: enable=import-error
+
def open_resource(package, name):
return resources.open_binary( # pytype: disable=module-attr
pycompat.sysstr(package), pycompat.sysstr(name)
@@ -85,6 +90,9 @@
# importlib.resources was not found (almost definitely because we're on a
# Python version before 3.7)
+ class FileNotFoundError(RuntimeError):
+ pass
+
def open_resource(package, name):
path = os.path.join(_package_path(package), name)
return open(path, "rb")
diff --git a/mercurial/templater.py b/mercurial/templater.py
--- a/mercurial/templater.py
+++ b/mercurial/templater.py
@@ -852,9 +852,12 @@
if not subresource:
if pycompat.ossep not in rel:
abs = rel
- subresource = resourceutil.open_resource(
- b'mercurial.templates', rel
- )
+ try:
+ subresource = resourceutil.open_resource(
+ b'mercurial.templates', rel
+ )
+ except resourceutil.FileNotFoundError:
+ subresource = None
else:
dir = templatedir()
if dir:
To: marmoute, #hg-reviewers
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20210819/d253d56d/attachment-0002.html>
More information about the Mercurial-patches
mailing list