From a83977da997acc3631a41803c915c99855ca6a68 Mon Sep 17 00:00:00 2001 From: David Vierra Date: Tue, 6 Jan 2015 18:58:06 -1000 Subject: [PATCH] resourcePath finds stuff relative to parent dir of mcedit2 module (src/), not current dir allows mcedit2 script to run from any dir in source installs --- src/mcedit2/editorapp.py | 2 +- src/mcedit2/util/resources.py | 15 +++++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/mcedit2/editorapp.py b/src/mcedit2/editorapp.py index 02cf5b5..efc97c0 100644 --- a/src/mcedit2/editorapp.py +++ b/src/mcedit2/editorapp.py @@ -78,7 +78,7 @@ class MCEditApp(QtGui.QApplication): # --- Necessities --- translator = QtCore.QTranslator() - translator.load('i18n/en_US') + translator.load(resourcePath('mcedit2/i18n/en_US.ts')) self.installTranslator(translator) self.setOrganizationName("MCEdit") diff --git a/src/mcedit2/util/resources.py b/src/mcedit2/util/resources.py index 453b84f..18fd05c 100644 --- a/src/mcedit2/util/resources.py +++ b/src/mcedit2/util/resources.py @@ -11,14 +11,13 @@ log = logging.getLogger(__name__) def resourcePath(filename): filename = filename.replace('/', os.path.sep) - path = os.path.join( - getattr( - sys, - "_MEIPASS", # if pyinstaller'd - os.path.abspath("src") # if running from source - ), - filename - ) + basedir = getattr(sys, "_MEIPASS", None) # if pyinstaller'd + if basedir is None: + import mcedit2 + mod = mcedit2.__file__ + basedir = os.path.dirname(mod) + "/.." + basedir = os.path.normpath(basedir) + path = os.path.join(basedir, filename) if not os.path.exists(path): raise RuntimeError("Could not get resource path for %s\n(Tried %s which does not exist)" % (filename, path))