Host-customized fork of https://github.com/tecnovert/basicswap/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.9 KiB

# -*- coding: utf-8 -*-
# Copyright (c) 2023 tecnovert
# Distributed under the MIT software license, see the accompanying
# file LICENSE or http://www.opensource.org/licenses/mit-license.php.
from basicswap.basicswap_util import (
AutomationOverrideOptions,
strAutomationOverrideOption,
)
from basicswap.util import (
ensure,
zeroIfNone,
)
from .util import (
get_data_entry,
get_data_entry_or,
have_data_entry,
)
def page_identity(self, url_split, post_string):
server = self.server
swap_client = server.swap_client
swap_client.checkSystemStatus()
summary = swap_client.getSummary()
ensure(len(url_split) > 2, 'Address not specified')
identity_address = url_split[2]
page_data = {'identity_address': identity_address}
messages = []
err_messages = []
form_data = self.checkForm(post_string, 'identity', err_messages)
if form_data:
if have_data_entry(form_data, 'edit'):
page_data['show_edit_form'] = True
if have_data_entry(form_data, 'apply'):
try:
data = {
'label': get_data_entry_or(form_data, 'label', ''),
'note': get_data_entry_or(form_data, 'note', ''),
'automation_override': get_data_entry(form_data, 'automation_override'),
}
swap_client.setIdentityData({'address': identity_address}, data)
messages.append('Updated')
except Exception as e:
err_messages.append(str(e))
try:
identity = swap_client.getIdentity(identity_address)
if identity is None:
raise ValueError('Unknown address')
automation_override = zeroIfNone(identity.automation_override)
page_data.update({
'label': '' if identity.label is None else identity.label,
'num_sent_bids_successful': zeroIfNone(identity.num_sent_bids_successful),
'num_recv_bids_successful': zeroIfNone(identity.num_recv_bids_successful),
'num_sent_bids_rejected': zeroIfNone(identity.num_sent_bids_rejected),
'num_recv_bids_rejected': zeroIfNone(identity.num_recv_bids_rejected),
'num_sent_bids_failed': zeroIfNone(identity.num_sent_bids_failed),
'num_recv_bids_failed': zeroIfNone(identity.num_recv_bids_failed),
'automation_override': automation_override,
'str_automation_override': strAutomationOverrideOption(automation_override),
'note': '' if identity.note is None else identity.note,
})
except Exception as e:
err_messages.append(e)
template = server.env.get_template('identity.html')
return self.render_template(template, {
'messages': messages,
'err_messages': err_messages,
'data': page_data,
'automation_override_options': [(int(opt), strAutomationOverrideOption(opt)) for opt in AutomationOverrideOptions if opt > 0],
'summary': summary,
})