From 6f5a3aedbb3c425708d7905596f5e1f352aac70e Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Tue, 21 Feb 2017 14:34:34 -0800 Subject: [PATCH] Update helpers.get_resource_path to correctly find resources in frozen macOS app bundles --- onionshare/helpers.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/onionshare/helpers.py b/onionshare/helpers.py index 832f2f38..1ba21ed6 100644 --- a/onionshare/helpers.py +++ b/onionshare/helpers.py @@ -42,9 +42,14 @@ def get_resource_path(filename): elif p == 'Linux' and sys.argv and sys.argv[0].startswith(sys.prefix): # OnionShare is installed systemwide in Linux resources_dir = os.path.join(sys.prefix, 'share/onionshare') - elif getattr(sys, 'frozen', False): # Check if app is "frozen" with cx_Freeze - # http://cx-freeze.readthedocs.io/en/latest/faq.html#using-data-files - resources_dir = os.path.join(os.path.dirname(sys.executable), 'resources') + + elif getattr(sys, 'frozen', False): + # Check if app is "frozen" + # https://pythonhosted.org/PyInstaller/#run-time-information + if p == 'Darwin': + resources_dir = sys._MEIPASS + elif p == 'Windows': + resources_dir = os.path.join(os.path.dirname(sys.executable), 'resources') return os.path.join(resources_dir, filename)