mmgen-xmrwallet label: add date to label

This commit is contained in:
The MMGen Project 2024-02-10 15:10:44 +00:00
commit 316beea60d
Signed by: mmgen
GPG key ID: 3F8B1861E32B7DA2
2 changed files with 15 additions and 12 deletions

View file

@ -1615,6 +1615,7 @@ class MoneroWalletOps:
len(ret['addresses']) - 1 ))
addr = ret['addresses'][self.address_idx]
new_label = f'{self.label} [{make_timestr()}]' if self.label else ''
msg('\n {a} {b}\n {c} {d}\n {e} {f}'.format(
a = 'Address: ',
@ -1624,18 +1625,20 @@ class MoneroWalletOps:
e = 'New label: ',
f = pink(new_label) if new_label else gray('[none]') ))
if addr['label'] == self.label:
op = 'remove' if not new_label else 'update' if addr['label'] else 'set'
if addr['label'] == new_label:
ymsg('\nLabel is unchanged, operation cancelled')
elif keypress_confirm( self.cfg, ' {} label?'.format('Set' if self.label else 'Remove') ):
h.set_label( self.account, self.address_idx, self.label )
elif keypress_confirm(self.cfg, f' {op.capitalize()} label?'):
h.set_label(self.account, self.address_idx, new_label)
accts_data = h.get_accts(print=False)[0]
ret = h.print_addrs(accts_data,self.account)
new_label = ret['addresses'][self.address_idx]['label']
if new_label != self.label:
ymsg(f'Warning: new label {new_label!r} does not match requested value!')
label_chk = ret['addresses'][self.address_idx]['label']
if label_chk != new_label:
ymsg(f'Warning: new label {label_chk!r} does not match requested value!')
return False
else:
msg(cyan('\nLabel successfully {}'.format('set' if self.label else 'removed')))
msg(cyan('\nLabel successfully {}'.format('set' if op == 'set' else op+'d')))
else:
ymsg('\nOperation cancelled by user request')

View file

@ -455,15 +455,15 @@ class CmdTestXMRWallet(CmdTestBase):
)
def set_label_miner(self):
return self.set_label_user( 'miner', '1:0:0,"Miner’s new primary account label [1:0:0]"' )
return self.set_label_user('miner', '1:0:0,"Miner’s new primary account label [1:0:0]"', 'updated')
def remove_label_alice(self):
return self.set_label_user( 'alice', '4:2:2,""' )
return self.set_label_user('alice', '4:2:2,""', 'removed')
def set_label_alice(self):
return self.set_label_user( 'alice', '4:2:2,"Alice’s new subaddress label [4:2:2]"' )
return self.set_label_user('alice', '4:2:2,"Alice’s new subaddress label [4:2:2]"', 'set')
def set_label_user(self,user,label_spec):
def set_label_user(self,user,label_spec,expect):
data = self.users[user]
cmd_opts = [f'--wallet-dir={data.udir}', f'--daemon=localhost:{data.md.rpc_port}']
t = self.spawn(
@ -471,7 +471,7 @@ class CmdTestXMRWallet(CmdTestBase):
self.extra_opts + cmd_opts + ['label', data.kafile, label_spec]
)
t.expect('(y/N): ','y')
t.expect(['successfully set','successfully removed'])
t.expect(f'Label successfully {expect}')
return t
def sync_wallets_all(self):