i18n: get datapath directly from resourceutil
The new resourceutil module is lower in the dependency graph, so we
can depend directly on it and won't have to depend on the util module
to inject the datapath.
Differential Revision: https://phab.mercurial-scm.org/D7435
--- a/doc/gendoc.py Thu Nov 14 12:33:10 2019 -0800
+++ b/doc/gendoc.py Thu Nov 14 12:41:33 2019 -0800
@@ -26,11 +26,7 @@
from mercurial import demandimport
demandimport.enable()
-# Load util so that the locale path is set by i18n.setdatapath() before
-# calling _().
-from mercurial import util
-util.datapath
from mercurial import (
commands,
encoding,
--- a/mercurial/i18n.py Thu Nov 14 12:33:10 2019 -0800
+++ b/mercurial/i18n.py Thu Nov 14 12:41:33 2019 -0800
@@ -13,6 +13,7 @@
import sys
from .pycompat import getattr
+from .utils import resourceutil
from . import (
encoding,
pycompat,
@@ -45,18 +46,14 @@
# ctypes not found or unknown langid
pass
-_ugettext = None
-
-def setdatapath(datapath):
- datapath = pycompat.fsdecode(datapath)
- localedir = os.path.join(datapath, 'locale')
- t = gettextmod.translation('hg', localedir, _languages, fallback=True)
- global _ugettext
- try:
- _ugettext = t.ugettext
- except AttributeError:
- _ugettext = t.gettext
+datapath = pycompat.fsdecode(resourceutil.datapath)
+localedir = os.path.join(datapath, 'locale')
+t = gettextmod.translation('hg', localedir, _languages, fallback=True)
+try:
+ _ugettext = t.ugettext
+except AttributeError:
+ _ugettext = t.gettext
_msgcache = {} # encoding: {message: translation}
--- a/mercurial/util.py Thu Nov 14 12:33:10 2019 -0800
+++ b/mercurial/util.py Thu Nov 14 12:41:33 2019 -0800
@@ -1824,7 +1824,6 @@
datapath = resourceutil.datapath
-i18n.setdatapath(datapath)
def checksignature(func):