From 7864c117ed6d64f2ec81364885cc30a7f507e5f1 Mon Sep 17 00:00:00 2001 From: Vincent Texier <vit@free.fr> Date: Mon, 23 Mar 2015 20:36:18 +0100 Subject: [PATCH] Fix bug in informations_tab if no UD block exists --- res/ui/informations_tab.ui | 20 ++--- src/cutecoin/gui/informations_tab.py | 118 ++++++++++++++------------- 2 files changed, 73 insertions(+), 65 deletions(-) diff --git a/res/ui/informations_tab.ui b/res/ui/informations_tab.ui index 95281ec6..da219825 100644 --- a/res/ui/informations_tab.ui +++ b/res/ui/informations_tab.ui @@ -72,15 +72,15 @@ QGroupBox::title { </widget> </item> <item> - <widget class="QGroupBox" name="group_money"> + <widget class="QGroupBox" name="group_rules"> <property name="title"> - <string>Money</string> + <string>Rules</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> + <layout class="QVBoxLayout" name="verticalLayout_6"> <item> - <widget class="QLabel" name="label_money"> + <widget class="QLabel" name="label_rules"> <property name="text"> - <string>label_money</string> + <string>label_rules</string> </property> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> @@ -91,15 +91,15 @@ QGroupBox::title { </widget> </item> <item> - <widget class="QGroupBox" name="group_rules"> + <widget class="QGroupBox" name="group_money"> <property name="title"> - <string>Rules</string> + <string>Money</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_6"> + <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <widget class="QLabel" name="label_rules"> + <widget class="QLabel" name="label_money"> <property name="text"> - <string>label_rules</string> + <string>label_money</string> </property> <property name="alignment"> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> diff --git a/src/cutecoin/gui/informations_tab.py b/src/cutecoin/gui/informations_tab.py index e5c6bebf..0572a3b6 100644 --- a/src/cutecoin/gui/informations_tab.py +++ b/src/cutecoin/gui/informations_tab.py @@ -47,36 +47,70 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget): logging.debug('community get_ud_block error : ' + str(e)) return False - # set infos in label - self.label_general.setText( - """ - <table cellpadding="5"> - <tr><td align="right"><b>{:}</b></div></td><td>{:} {:}</td></tr> - <tr><td align="right"><b>{:}</b></td><td>{:} {:}</td></tr> - <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> - <tr><td align="right"><b>{:}</b></td><td>{:} {:}</td></tr> - <tr><td align="right"><b>{:2.2%} / {:} days</b></td><td>{:}</td></tr> - <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> - </table> - """.format( - round(self.get_referential_diff_value(block['dividend'])), - 'Universal Dividend UD(t) in', - self.get_referential_name(), - round(self.get_referential_value(block['monetaryMass'])), - 'Monetary Mass M(t) in', - self.get_referential_name(), - block['membersCount'], - 'Members N(t)', - round(self.get_referential_value(block['monetaryMass'] / block['membersCount'])), - 'Monetary Mass per member M(t)/N(t) in', - self.get_referential_name(), - block['dividend'] / (block_t_minus_1['monetaryMass'] / block['membersCount']), - params['dt'] / 86400, - 'Actual growth c = UD(t)/[M(t-1)/N(t)]', - datetime.datetime.fromtimestamp(block['medianTime'] + params['dt']).strftime("%d/%m/%Y %I:%M"), - 'Next UD date and time (t+1)' + block = False + + if block: + # set infos in label + self.label_general.setText( + """ + <table cellpadding="5"> + <tr><td align="right"><b>{:}</b></div></td><td>{:} {:}</td></tr> + <tr><td align="right"><b>{:}</b></td><td>{:} {:}</td></tr> + <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> + <tr><td align="right"><b>{:}</b></td><td>{:} {:}</td></tr> + <tr><td align="right"><b>{:2.2%} / {:} days</b></td><td>{:}</td></tr> + <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> + </table> + """.format( + round(self.get_referential_diff_value(block['dividend'])), + 'Universal Dividend UD(t) in', + self.get_referential_name(), + round(self.get_referential_value(block['monetaryMass'])), + 'Monetary Mass M(t) in', + self.get_referential_name(), + block['membersCount'], + 'Members N(t)', + round(self.get_referential_value(block['monetaryMass'] / block['membersCount'])), + 'Monetary Mass per member M(t)/N(t) in', + self.get_referential_name(), + block['dividend'] / (block_t_minus_1['monetaryMass'] / block['membersCount']), + params['dt'] / 86400, + 'Actual growth c = UD(t)/[M(t-1)/N(t)]', + datetime.datetime.fromtimestamp(block['medianTime'] + params['dt']).strftime("%d/%m/%Y %I:%M"), + 'Next UD date and time (t+1)' + ) ) - ) + else: + self.label_general.setText('No Universal Dividend created yet.') + + if block: + # set infos in label + self.label_rules.setText( + """ + <table cellpadding="5"> + <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> + <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> + <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> + </table> + """.format( + '{:2.0%} / {:} days'.format(params['c'], params['dt'] / 86400), + 'Fundamental growth (c) / Delta time (dt)', + 'UD(t+1) = MAX { UD(t) ; c * M(t) / N(t) }', + 'Universal Dividend (formula)', + '{:} = MAX {{ {:} {:} ; {:2.0%} * {:} {:} / {:} }}'.format( + math.ceil(max(block['dividend'], params['c'] * block['monetaryMass'] / block['membersCount'])), + round(self.get_referential_diff_value(block['dividend'])), + self.get_referential_name(), + params['c'], + round(self.get_referential_value(block['monetaryMass'])), + self.get_referential_name(), + block['membersCount'] + ), + 'Universal Dividend (computed)' + ) + ) + else: + self.label_rules.setText('No Universal Dividend created yet.') # set infos in label self.label_money.setText( @@ -113,32 +147,6 @@ class InformationsTabWidget(QWidget, Ui_InformationsTabWidget): ) ) - # set infos in label - self.label_rules.setText( - """ - <table cellpadding="5"> - <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> - <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> - <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr> - </table> - """.format( - '{:2.0%} / {:} days'.format(params['c'], params['dt'] / 86400), - 'Fundamental growth (c) / Delta time (dt)', - 'UD(t+1) = MAX { UD(t) ; c * M(t) / N(t) }', - 'Universal Dividend (formula)', - '{:} = MAX {{ {:} {:} ; {:2.0%} * {:} {:} / {:} }}'.format( - math.ceil(max(block['dividend'], params['c'] * block['monetaryMass'] / block['membersCount'])), - round(self.get_referential_diff_value(block['dividend'])), - self.get_referential_name(), - params['c'], - round(self.get_referential_value(block['monetaryMass'])), - self.get_referential_name(), - block['membersCount'] - ), - 'Universal Dividend (computed)' - ) - ) - # set infos in label self.label_wot.setText( """ -- GitLab