Browse Source

labels: emit callback when labels received.

write labels regardless if there's already a label set for an ID.
master
Sander van Grieken 2 years ago
parent
commit
3a22cb9c48
No known key found for this signature in database
GPG Key ID: 9BCF8209EA402EBA
  1. 1
      electrum/gui/qml/qewallet.py
  2. 9
      electrum/plugins/labels/labels.py
  3. 3
      electrum/plugins/labels/qml.py

1
electrum/gui/qml/qewallet.py

@ -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'])

9
electrum/plugins/labels/labels.py

@ -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

3
electrum/plugins/labels/qml.py

@ -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):

Loading…
Cancel
Save