# HG changeset patch # User Martin von Zweigbergk # Date 2019-11-14 20:41:33 # Node ID f0bee3b1b8477c48ce6cafa126006a63a9d96914 # Parent 9fb85668ee1547cb5f6d13bd204c05185928ee41 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 diff --git a/doc/gendoc.py b/doc/gendoc.py --- a/doc/gendoc.py +++ b/doc/gendoc.py @@ -26,11 +26,7 @@ sys.path.insert(0, "..") 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, diff --git a/mercurial/i18n.py b/mercurial/i18n.py --- a/mercurial/i18n.py +++ b/mercurial/i18n.py @@ -13,6 +13,7 @@ import os import sys from .pycompat import getattr +from .utils import resourceutil from . import ( encoding, pycompat, @@ -45,18 +46,14 @@ if ( # 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} diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -1824,7 +1824,6 @@ def pathto(root, n1, n2): datapath = resourceutil.datapath -i18n.setdatapath(datapath) def checksignature(func):