labels: emit callback when labels received.
write labels regardless if there's already a label set for an ID.
This commit is contained in:
@@ -72,7 +72,6 @@ class QEWallet(AuthMixin, QObject, QtEventListener):
|
||||
saveTxSuccess = pyqtSignal([str], arguments=['txid'])
|
||||
saveTxError = pyqtSignal([str,str,str], arguments=['txid', 'code', 'message'])
|
||||
importChannelBackupFailed = pyqtSignal([str], arguments=['message'])
|
||||
labelsUpdated = pyqtSignal()
|
||||
otpRequested = pyqtSignal()
|
||||
otpSuccess = pyqtSignal()
|
||||
otpFailed = pyqtSignal([str,str], arguments=['code','message'])
|
||||
|
||||
@@ -7,6 +7,7 @@ from typing import Union, TYPE_CHECKING
|
||||
|
||||
import base64
|
||||
|
||||
from electrum import util
|
||||
from electrum.plugin import BasePlugin, hook
|
||||
from electrum.crypto import aes_encrypt_with_iv, aes_decrypt_with_iv
|
||||
from electrum.i18n import _
|
||||
@@ -137,7 +138,7 @@ class LabelsPlugin(BasePlugin):
|
||||
if response["labels"] is None or len(response["labels"]) == 0:
|
||||
self.logger.info('no new labels')
|
||||
return
|
||||
#self.logger.debug(f"labels received {response!r}")
|
||||
|
||||
self.logger.info(f'received {len(response["labels"])} labels')
|
||||
result = {}
|
||||
for label in response["labels"]:
|
||||
@@ -156,14 +157,14 @@ class LabelsPlugin(BasePlugin):
|
||||
result[key] = value
|
||||
|
||||
for key, value in result.items():
|
||||
if force or not wallet._get_label(key):
|
||||
wallet._set_label(key, value)
|
||||
wallet._set_label(key, value)
|
||||
|
||||
self.set_nonce(wallet, response["nonce"] + 1)
|
||||
util.trigger_callback('labels_received', wallet, result)
|
||||
self.on_pulled(wallet)
|
||||
|
||||
def on_pulled(self, wallet: 'Abstract_Wallet') -> None:
|
||||
raise NotImplementedError()
|
||||
pass
|
||||
|
||||
@ignore_exceptions
|
||||
@log_exceptions
|
||||
|
||||
@@ -113,11 +113,8 @@ class Plugin(LabelsPlugin):
|
||||
threading.Thread(target=pull_thread, args=[wallet]).start()
|
||||
|
||||
def on_pulled(self, wallet):
|
||||
self.logger.info('on pulled')
|
||||
_wallet = QEWallet.getInstanceFor(wallet)
|
||||
self.logger.debug('wallet ' + ('found' if _wallet else 'not found'))
|
||||
if _wallet:
|
||||
_wallet.labelsUpdated.emit()
|
||||
|
||||
@hook
|
||||
def init_qml(self, app):
|
||||
|
||||
Reference in New Issue
Block a user