##// END OF EJS Templates
util: remove datapath and swith users over to resourceutil...
util: remove datapath and swith users over to resourceutil The util module no longer needs the datapath for injecting it into the i18n module, so we can remove it from there and update other users. Differential Revision: https://phab.mercurial-scm.org/D7436

File last commit:

r44068:9fb85668 default
r44070:5be909db default
Show More
resourceutil.py
37 lines | 1.1 KiB | text/x-python | PythonLexer
Martin von Zweigbergk
procutil: move mainfrozen() to new resourceutil.py...
r44067 # resourceutil.py - utility for looking up resources
#
# Copyright 2005 K. Thananchayan <thananck@yahoo.com>
# Copyright 2005-2007 Matt Mackall <mpm@selenic.com>
# Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
import imp
Martin von Zweigbergk
util: move definition of datapath to resourceutil...
r44068 import os
Martin von Zweigbergk
procutil: move mainfrozen() to new resourceutil.py...
r44067 import sys
from .. import pycompat
def mainfrozen():
"""return True if we are a frozen executable.
The code supports py2exe (most common, Windows only) and tools/freeze
(portable, not much used).
"""
return (
pycompat.safehasattr(sys, "frozen")
or pycompat.safehasattr(sys, "importers") # new py2exe
or imp.is_frozen("__main__") # old py2exe
) # tools/freeze
Martin von Zweigbergk
util: move definition of datapath to resourceutil...
r44068
# 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__)))