detect if we are in a pyinstaller bundle
This commit is contained in:
parent
16c72d286c
commit
9d40fb2ea8
7
electrum
7
electrum
|
@ -27,7 +27,8 @@ import time
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
|
|
||||||
is_local = os.path.dirname(os.path.realpath(__file__)) == os.getcwd()
|
is_bundle = getattr(sys, 'frozen', False)
|
||||||
|
is_local = not is_bundle and os.path.dirname(os.path.realpath(__file__)) == os.getcwd()
|
||||||
is_android = 'ANDROID_DATA' in os.environ
|
is_android = 'ANDROID_DATA' in os.environ
|
||||||
|
|
||||||
if is_local:
|
if is_local:
|
||||||
|
@ -66,7 +67,7 @@ except Exception:
|
||||||
|
|
||||||
|
|
||||||
# load local module as electrum
|
# load local module as electrum
|
||||||
if __builtin__.use_local_modules:
|
if is_bundle or is_local or is_android:
|
||||||
import imp
|
import imp
|
||||||
imp.load_module('electrum', *imp.find_module('lib'))
|
imp.load_module('electrum', *imp.find_module('lib'))
|
||||||
imp.load_module('electrum_gui', *imp.find_module('gui'))
|
imp.load_module('electrum_gui', *imp.find_module('gui'))
|
||||||
|
@ -214,7 +215,7 @@ if __name__ == '__main__':
|
||||||
cmd = args[0]
|
cmd = args[0]
|
||||||
|
|
||||||
if cmd == 'gui':
|
if cmd == 'gui':
|
||||||
init_plugins(config)
|
init_plugins(config, is_bundle or is_local or is_android)
|
||||||
gui_name = config.get('gui', 'classic')
|
gui_name = config.get('gui', 'classic')
|
||||||
if gui_name in ['lite', 'classic']:
|
if gui_name in ['lite', 'classic']:
|
||||||
gui_name = 'qt'
|
gui_name = 'qt'
|
||||||
|
|
|
@ -6,11 +6,11 @@ from i18n import _
|
||||||
plugins = []
|
plugins = []
|
||||||
|
|
||||||
|
|
||||||
def init_plugins(config):
|
def init_plugins(config, local):
|
||||||
import imp, pkgutil, __builtin__, os
|
import imp, pkgutil, __builtin__, os
|
||||||
global plugins
|
global plugins
|
||||||
|
|
||||||
if __builtin__.use_local_modules:
|
if local:
|
||||||
fp, pathname, description = imp.find_module('plugins')
|
fp, pathname, description = imp.find_module('plugins')
|
||||||
plugin_names = [name for a, name, b in pkgutil.iter_modules([pathname])]
|
plugin_names = [name for a, name, b in pkgutil.iter_modules([pathname])]
|
||||||
plugin_names = filter( lambda name: os.path.exists(os.path.join(pathname,name+'.py')), plugin_names)
|
plugin_names = filter( lambda name: os.path.exists(os.path.join(pathname,name+'.py')), plugin_names)
|
||||||
|
|
|
@ -65,6 +65,10 @@ def data_dir():
|
||||||
import __builtin__
|
import __builtin__
|
||||||
if __builtin__.use_local_modules:
|
if __builtin__.use_local_modules:
|
||||||
return local_data_dir()
|
return local_data_dir()
|
||||||
|
else:
|
||||||
|
if getattr(sys, 'frozen'):
|
||||||
|
basedir = sys._MEIPASS
|
||||||
|
return os.path.join(basedir, 'data')
|
||||||
else:
|
else:
|
||||||
return appdata_dir()
|
return appdata_dir()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue