![tecnovert@tecnovert.net](/assets/img/avatar_default.png)
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