add plugins to package
This commit is contained in:
parent
190f733de2
commit
cec2187010
|
@ -326,14 +326,16 @@ class ElectrumWindow(QMainWindow):
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
def init_plugins(self):
|
def init_plugins(self):
|
||||||
|
import imp, pkgutil
|
||||||
if os.path.exists("plugins"):
|
if os.path.exists("plugins"):
|
||||||
import imp, pkgutil
|
|
||||||
fp, pathname, description = imp.find_module('plugins')
|
fp, pathname, description = imp.find_module('plugins')
|
||||||
imp.load_module('electrum_plugins', fp, pathname, description)
|
imp.load_module('electrum_plugins', fp, pathname, description)
|
||||||
plugin_names = [name for a, name, b in pkgutil.iter_modules(['plugins'])]
|
plugin_names = [name for a, name, b in pkgutil.iter_modules(['plugins'])]
|
||||||
self.plugins = map(lambda name: imp.load_source('electrum_plugins.'+name, os.path.join(pathname,name+'.py')), plugin_names)
|
self.plugins = map(lambda name: imp.load_source('electrum_plugins.'+name, os.path.join(pathname,name+'.py')), plugin_names)
|
||||||
else:
|
else:
|
||||||
self.plugins = []
|
import electrum_plugins
|
||||||
|
plugin_names = [name for a, name, b in pkgutil.iter_modules(electrum_plugins.__path__)]
|
||||||
|
self.plugins = [ __import__('electrum_plugins.'+name, fromlist=['electrum_plugins']) for name in plugin_names]
|
||||||
|
|
||||||
self.plugin_hooks = {}
|
self.plugin_hooks = {}
|
||||||
for p in self.plugins:
|
for p in self.plugins:
|
||||||
|
@ -2041,25 +2043,25 @@ class ElectrumWindow(QMainWindow):
|
||||||
grid_raw.setRowStretch(3,1)
|
grid_raw.setRowStretch(3,1)
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
tab5 = QWidget()
|
if self.plugins:
|
||||||
grid_plugins = QGridLayout(tab5)
|
tab5 = QWidget()
|
||||||
grid_plugins.setColumnStretch(0,1)
|
grid_plugins = QGridLayout(tab5)
|
||||||
tabs.addTab(tab5, _('Plugins') )
|
grid_plugins.setColumnStretch(0,1)
|
||||||
def mk_toggle(cb, p):
|
tabs.addTab(tab5, _('Plugins') )
|
||||||
return lambda: cb.setChecked(p.toggle(self))
|
def mk_toggle(cb, p):
|
||||||
for i, p in enumerate(self.plugins):
|
return lambda: cb.setChecked(p.toggle(self))
|
||||||
try:
|
for i, p in enumerate(self.plugins):
|
||||||
name, description = p.get_info()
|
try:
|
||||||
cb = QCheckBox(name)
|
name, description = p.get_info()
|
||||||
cb.setChecked(p.is_enabled())
|
cb = QCheckBox(name)
|
||||||
cb.stateChanged.connect(mk_toggle(cb,p))
|
cb.setChecked(p.is_enabled())
|
||||||
grid_plugins.addWidget(cb, i, 0)
|
cb.stateChanged.connect(mk_toggle(cb,p))
|
||||||
grid_plugins.addWidget(HelpButton(description), i, 2)
|
grid_plugins.addWidget(cb, i, 0)
|
||||||
except:
|
grid_plugins.addWidget(HelpButton(description), i, 2)
|
||||||
print_msg("Error: cannot display plugin", p)
|
except:
|
||||||
traceback.print_exc(file=sys.stdout)
|
print_msg("Error: cannot display plugin", p)
|
||||||
|
traceback.print_exc(file=sys.stdout)
|
||||||
grid_plugins.setRowStretch(i+1,1)
|
grid_plugins.setRowStretch(i+1,1)
|
||||||
|
|
||||||
vbox.addLayout(ok_cancel_buttons(d))
|
vbox.addLayout(ok_cancel_buttons(d))
|
||||||
d.setLayout(vbox)
|
d.setLayout(vbox)
|
||||||
|
|
9
setup.py
9
setup.py
|
@ -45,7 +45,7 @@ data_files += [
|
||||||
setup(name = "Electrum",
|
setup(name = "Electrum",
|
||||||
version = version.ELECTRUM_VERSION,
|
version = version.ELECTRUM_VERSION,
|
||||||
install_requires = ['slowaes','ecdsa'],
|
install_requires = ['slowaes','ecdsa'],
|
||||||
package_dir = {'electrum': 'lib', 'electrum_gui': 'gui'},
|
package_dir = {'electrum': 'lib', 'electrum_gui': 'gui', 'electrum_plugins':'plugins'},
|
||||||
scripts= ['electrum'],
|
scripts= ['electrum'],
|
||||||
data_files = data_files,
|
data_files = data_files,
|
||||||
py_modules = ['electrum.version',
|
py_modules = ['electrum.version',
|
||||||
|
@ -70,11 +70,14 @@ setup(name = "Electrum",
|
||||||
'electrum_gui.exchange_rate',
|
'electrum_gui.exchange_rate',
|
||||||
'electrum_gui.icons_rc',
|
'electrum_gui.icons_rc',
|
||||||
'electrum_gui.pyqrnative',
|
'electrum_gui.pyqrnative',
|
||||||
'electrum_gui.qrscanner',
|
'electrum_gui.qrcodewidget',
|
||||||
'electrum_gui.history_widget',
|
'electrum_gui.history_widget',
|
||||||
'electrum_gui.receiving_widget',
|
'electrum_gui.receiving_widget',
|
||||||
'electrum_gui.bmp',
|
'electrum_gui.bmp',
|
||||||
'electrum_gui.i18n'],
|
'electrum_gui.i18n',
|
||||||
|
'electrum_plugins.pointofsale',
|
||||||
|
'electrum_plugins.qrscanner',
|
||||||
|
],
|
||||||
description = "Lightweight Bitcoin Wallet",
|
description = "Lightweight Bitcoin Wallet",
|
||||||
author = "ecdsa",
|
author = "ecdsa",
|
||||||
author_email = "ecdsa@github",
|
author_email = "ecdsa@github",
|
||||||
|
|
Loading…
Reference in New Issue