# HG changeset patch # User Martin von Zweigbergk # Date 2019-11-14 20:33:10 # Node ID 9fb85668ee1547cb5f6d13bd204c05185928ee41 # Parent 664e242077282a01f1ddd0114623c6eca3491f1f util: move definition of datapath to resourceutil Since this means moving the function into a subdirectory, we have to compensate by adding another layer of os.path.dirname(). Differential Revision: https://phab.mercurial-scm.org/D7434 diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -1823,13 +1823,7 @@ def pathto(root, n1, n2): return pycompat.ossep.join(([b'..'] * len(a)) + b) or b'.' -# the location of data files matching the source code -if resourceutil.mainfrozen() and getattr(sys, 'frozen', None) != 'macosx_app': - # executable version (py2exe) doesn't support __file__ - datapath = os.path.dirname(pycompat.sysexecutable) -else: - datapath = os.path.dirname(pycompat.fsencode(__file__)) - +datapath = resourceutil.datapath i18n.setdatapath(datapath) diff --git a/mercurial/utils/resourceutil.py b/mercurial/utils/resourceutil.py --- a/mercurial/utils/resourceutil.py +++ b/mercurial/utils/resourceutil.py @@ -10,6 +10,7 @@ from __future__ import absolute_import import imp +import os import sys from .. import pycompat @@ -26,3 +27,11 @@ def mainfrozen(): or pycompat.safehasattr(sys, "importers") # new py2exe or imp.is_frozen("__main__") # old py2exe ) # tools/freeze + + +# the location of data files matching the source code +if mainfrozen() and getattr(sys, 'frozen', None) != 'macosx_app': + # executable version (py2exe) doesn't support __file__ + datapath = os.path.dirname(pycompat.sysexecutable) +else: + datapath = os.path.dirname(os.path.dirname(pycompat.fsencode(__file__)))