labels plugin: no need for 'proxy_set' callback
This commit is contained in:
@@ -10,6 +10,8 @@ from electrum.plugin import BasePlugin, hook
|
||||
from electrum.crypto import aes_encrypt_with_iv, aes_decrypt_with_iv
|
||||
from electrum.i18n import _
|
||||
from electrum.util import log_exceptions, ignore_exceptions, make_aiohttp_session
|
||||
from electrum.network import Network
|
||||
|
||||
|
||||
class LabelsPlugin(BasePlugin):
|
||||
|
||||
@@ -17,7 +19,6 @@ class LabelsPlugin(BasePlugin):
|
||||
BasePlugin.__init__(self, parent, config, name)
|
||||
self.target_host = 'labels.electrum.org'
|
||||
self.wallets = {}
|
||||
self.proxy = None
|
||||
|
||||
def encode(self, wallet, msg):
|
||||
password, iv, wallet_id = self.wallets[wallet]
|
||||
@@ -65,13 +66,17 @@ class LabelsPlugin(BasePlugin):
|
||||
|
||||
async def do_get(self, url = "/labels"):
|
||||
url = 'https://' + self.target_host + url
|
||||
async with make_aiohttp_session(self.proxy) as session:
|
||||
network = Network.get_instance()
|
||||
proxy = network.proxy if network else None
|
||||
async with make_aiohttp_session(proxy) as session:
|
||||
async with session.get(url) as result:
|
||||
return await result.json()
|
||||
|
||||
async def do_post(self, url = "/labels", data=None):
|
||||
url = 'https://' + self.target_host + url
|
||||
async with make_aiohttp_session(self.proxy) as session:
|
||||
network = Network.get_instance()
|
||||
proxy = network.proxy if network else None
|
||||
async with make_aiohttp_session(proxy) as session:
|
||||
async with session.post(url, json=data) as result:
|
||||
try:
|
||||
return await result.json()
|
||||
@@ -160,14 +165,6 @@ class LabelsPlugin(BasePlugin):
|
||||
self.wallets[wallet] = (password, iv, wallet_id)
|
||||
# If there is an auth token we can try to actually start syncing
|
||||
asyncio.run_coroutine_threadsafe(self.pull_safe_thread(wallet, False), wallet.network.asyncio_loop)
|
||||
self.proxy = wallet.network.proxy
|
||||
wallet.network.register_callback(self.set_proxy, ['proxy_set'])
|
||||
|
||||
def stop_wallet(self, wallet):
|
||||
if not wallet.network: return # 'offline' mode
|
||||
wallet.network.unregister_callback('proxy_set')
|
||||
self.wallets.pop(wallet, None)
|
||||
|
||||
def set_proxy(self, evt_name, new_proxy):
|
||||
self.proxy = new_proxy
|
||||
self.print_error("proxy set")
|
||||
|
||||
Reference in New Issue
Block a user