|
@@ -29,7 +29,7 @@ class OpLabel(OpMixinSpec, OpWallet):
|
|
|
opts = ()
|
|
opts = ()
|
|
|
wallet_offline = True
|
|
wallet_offline = True
|
|
|
|
|
|
|
|
- async def main(self, add_timestr='ask'):
|
|
|
|
|
|
|
+ async def main(self, add_timestr='ask', auto=False):
|
|
|
|
|
|
|
|
gmsg('\n{a} label for wallet {b}, account #{c}, address #{d}'.format(
|
|
gmsg('\n{a} label for wallet {b}, account #{c}, address #{d}'.format(
|
|
|
a = 'Setting' if self.label else 'Removing',
|
|
a = 'Setting' if self.label else 'Removing',
|
|
@@ -40,13 +40,13 @@ class OpLabel(OpMixinSpec, OpWallet):
|
|
|
h = MoneroWalletRPC(self, self.source)
|
|
h = MoneroWalletRPC(self, self.source)
|
|
|
|
|
|
|
|
h.open_wallet('source')
|
|
h.open_wallet('source')
|
|
|
- wallet_data = h.get_wallet_data()
|
|
|
|
|
|
|
+ wallet_data = h.get_wallet_data(print=not auto)
|
|
|
|
|
|
|
|
max_acct = len(wallet_data.accts_data['subaddress_accounts']) - 1
|
|
max_acct = len(wallet_data.accts_data['subaddress_accounts']) - 1
|
|
|
if self.account > max_acct:
|
|
if self.account > max_acct:
|
|
|
die(2, f'{self.account}: requested account index out of bounds (>{max_acct})')
|
|
die(2, f'{self.account}: requested account index out of bounds (>{max_acct})')
|
|
|
|
|
|
|
|
- ret = h.print_acct_addrs(wallet_data, self.account)
|
|
|
|
|
|
|
+ ret = h.print_acct_addrs(wallet_data, self.account, silent=auto)
|
|
|
|
|
|
|
|
if self.address_idx > len(ret) - 1:
|
|
if self.address_idx > len(ret) - 1:
|
|
|
die(2, '{}: requested address index out of bounds (>{})'.format(
|
|
die(2, '{}: requested address index out of bounds (>{})'.format(
|
|
@@ -60,21 +60,22 @@ class OpLabel(OpMixinSpec, OpWallet):
|
|
|
(self.label + (f' [{make_timestr()}]' if add_timestr else '')) if self.label
|
|
(self.label + (f' [{make_timestr()}]' if add_timestr else '')) if self.label
|
|
|
else '')
|
|
else '')
|
|
|
|
|
|
|
|
- ca = CoinAddr(self.proto, addr['address'])
|
|
|
|
|
- from . import addr_width
|
|
|
|
|
- msg('\n {a} {b}\n {c} {d}\n {e} {f}'.format(
|
|
|
|
|
- a = 'Address: ',
|
|
|
|
|
- b = ca.hl(0) if self.cfg.full_address else ca.fmt(0, addr_width, color=True),
|
|
|
|
|
- c = 'Existing label:',
|
|
|
|
|
- d = pink(addr['label']) if addr['label'] else gray('[none]'),
|
|
|
|
|
- e = 'New label: ',
|
|
|
|
|
- f = pink(new_label) if new_label else gray('[none]')))
|
|
|
|
|
|
|
+ if not auto:
|
|
|
|
|
+ ca = CoinAddr(self.proto, addr['address'])
|
|
|
|
|
+ from . import addr_width
|
|
|
|
|
+ msg('\n {a} {b}\n {c} {d}\n {e} {f}'.format(
|
|
|
|
|
+ a = 'Address: ',
|
|
|
|
|
+ b = ca.hl(0) if self.cfg.full_address else ca.fmt(0, addr_width, color=True),
|
|
|
|
|
+ c = 'Existing label:',
|
|
|
|
|
+ d = pink(addr['label']) if addr['label'] else gray('[none]'),
|
|
|
|
|
+ e = 'New label: ',
|
|
|
|
|
+ f = pink(new_label) if new_label else gray('[none]')))
|
|
|
|
|
|
|
|
op = 'remove' if not new_label else 'update' if addr['label'] else 'set'
|
|
op = 'remove' if not new_label else 'update' if addr['label'] else 'set'
|
|
|
|
|
|
|
|
if addr['label'] == new_label:
|
|
if addr['label'] == new_label:
|
|
|
ymsg('\nLabel is unchanged, operation cancelled')
|
|
ymsg('\nLabel is unchanged, operation cancelled')
|
|
|
- elif keypress_confirm(self.cfg, f' {op.capitalize()} label?'):
|
|
|
|
|
|
|
+ elif auto or keypress_confirm(self.cfg, f' {op.capitalize()} label?'):
|
|
|
h.set_label(self.account, self.address_idx, new_label)
|
|
h.set_label(self.account, self.address_idx, new_label)
|
|
|
ret = h.print_acct_addrs(h.get_wallet_data(print=False), self.account)
|
|
ret = h.print_acct_addrs(h.get_wallet_data(print=False), self.account)
|
|
|
label_chk = ret[self.address_idx]['label']
|
|
label_chk = ret[self.address_idx]['label']
|
|
@@ -83,5 +84,6 @@ class OpLabel(OpMixinSpec, OpWallet):
|
|
|
return False
|
|
return False
|
|
|
else:
|
|
else:
|
|
|
msg(cyan('\nLabel successfully {}'.format('set' if op == 'set' else op+'d')))
|
|
msg(cyan('\nLabel successfully {}'.format('set' if op == 'set' else op+'d')))
|
|
|
|
|
+ return new_label
|
|
|
else:
|
|
else:
|
|
|
ymsg('\nOperation cancelled by user request')
|
|
ymsg('\nOperation cancelled by user request')
|