Pass plugins object to plugin constructor

This commit is contained in:
Neil Booth 2015-09-04 09:07:18 +09:00
parent ac4adbb298
commit ec3b7ba5ee
8 changed files with 24 additions and 27 deletions

View File

@ -67,7 +67,7 @@ class Plugins:
p = imp.load_source(full_name, path)
else:
p = __import__(full_name, fromlist=['electrum_plugins'])
plugin = p.Plugin(config, name)
plugin = p.Plugin(self, config, name)
self.plugins[name] = plugin
self.print_error("loaded", name)
return plugin
@ -155,7 +155,8 @@ def _run_hook(name, always, *args):
class BasePlugin:
def __init__(self, config, name):
def __init__(self, parent, config, name):
self.parent = parent # The plugins object
self.name = name
self.config = config
self.wallet = None

View File

@ -27,8 +27,8 @@ except ImportError:
class Plugin(BasePlugin):
def __init__(self, config, name):
BasePlugin.__init__(self, config, name)
def __init__(self, parent, config, name):
BasePlugin.__init__(self, parent, config, name)
if self.is_available():
self.modem_config = amodem.config.slowest()
self.library_name = {
@ -141,5 +141,3 @@ class Plugin(BasePlugin):
msg = 'Receiving from Audio MODEM ({0:.1f} kbps)...'.format(kbps)
return WaitingDialog(parent=parent, message=msg,
run_task=receiver_thread, on_success=on_success)

View File

@ -34,8 +34,8 @@ except ImportError:
class Plugin(BasePlugin):
def __init__(self, gui, name):
BasePlugin.__init__(self, gui, name)
def __init__(self, parent, config, name):
BasePlugin.__init__(self, parent, config, name)
self._is_available = self._init()
self.wallet = None
self.handler = None

View File

@ -114,8 +114,8 @@ class Plugin(BasePlugin):
def is_available(self):
return True
def __init__(self, a, b):
BasePlugin.__init__(self, a, b)
def __init__(self, parent, config, name)
BasePlugin.__init__(self, parent, config, name)
self.imap_server = self.config.get('email_server', '')
self.username = self.config.get('email_username', '')
self.password = self.config.get('email_password', '')
@ -215,5 +215,3 @@ class Plugin(BasePlugin):
password = str(password_e.text())
self.config.set_key('email_password', password)

View File

@ -162,8 +162,8 @@ class Exchanger(ThreadJob):
class Plugin(BasePlugin):
def __init__(self,a,b):
BasePlugin.__init__(self,a,b)
def __init__(self, parent, config, name):
BasePlugin.__init__(self, parent, config, name)
self.exchange = self.config.get('use_exchange', "Blockchain")
self.currencies = [self.fiat_unit()]
self.exchanger = Exchanger(self)

View File

@ -48,8 +48,8 @@ def give_error(message):
class Plugin(BasePlugin):
def __init__(self, config, name):
BasePlugin.__init__(self, config, name)
def __init__(self, parent, config, name):
BasePlugin.__init__(self, parent, config, name)
self._is_available = self._init()
self.wallet = None
self.handler = None

View File

@ -48,8 +48,8 @@ def give_error(message):
class Plugin(BasePlugin):
def __init__(self, config, name):
BasePlugin.__init__(self, config, name)
def __init__(self, parent, config, name):
BasePlugin.__init__(self, parent, config, name)
self._is_available = self._init()
self.wallet = None
self.handler = None

View File

@ -212,8 +212,8 @@ class Plugin(BasePlugin):
wallet = None
def __init__(self, x, y):
BasePlugin.__init__(self, x, y)
def __init__(self, parent, config, name):
BasePlugin.__init__(self, parent, config, name)
self.seed_func = lambda x: bitcoin.is_new_seed(x, SEED_PREFIX)
self.billing_info = None
self.is_billing = False