parent
b6046fdbf3
commit
6ccfd93997
2 changed files with 80 additions and 57 deletions
@ -0,0 +1,78 @@ |
||||
# -*- 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, |
||||
}) |
Loading…
Reference in new issue