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
79 lines
2.9 KiB
2 years ago
|
# -*- 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,
|
||
|
})
|