tremove unwanted for loop in plugin hook - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 26ab5519b238c8e7a0c43212af433d1f7483e473 DIR parent 4cfb6e1d7609ce0dee0b1f73517642bb56ba5c30 HTML Author: ThomasV <thomasv@electrum.org> Date: Thu, 3 Sep 2015 08:14:42 +0200 remove unwanted for loop in plugin hook Diffstat: M plugins/exchange_rate.py | 95 +++++++++++++++---------------- 1 file changed, 47 insertions(+), 48 deletions(-) --- DIR diff --git a/plugins/exchange_rate.py b/plugins/exchange_rate.py t@@ -314,55 +314,54 @@ class Plugin(BasePlugin): if not self.resp_hist: return - for window in self.gui.windows: - wallet = window.wallet - tx_list = self.wallet_tx_list.get(wallet) - if not wallet or not tx_list: - continue - window.is_edit = True - window.history_list.setColumnCount(7) - window.history_list.setHeaderLabels([ '', '', _('Date'), _('Description') , _('Amount'), _('Balance'), _('Fiat Amount')] ) - root = window.history_list.invisibleRootItem() - childcount = root.childCount() - for i in range(childcount): - item = root.child(i) + wallet = window.wallet + tx_list = self.wallet_tx_list.get(wallet) + if not wallet or not tx_list: + continue + window.is_edit = True + window.history_list.setColumnCount(7) + window.history_list.setHeaderLabels([ '', '', _('Date'), _('Description') , _('Amount'), _('Balance'), _('Fiat Amount')] ) + root = window.history_list.invisibleRootItem() + childcount = root.childCount() + for i in range(childcount): + item = root.child(i) + try: + tx_info = tx_list[str(item.data(0, Qt.UserRole).toPyObject())] + except Exception: + newtx = wallet.get_history() + v = newtx[[x[0] for x in newtx].index(str(item.data(0, Qt.UserRole).toPyObject()))][2] + tx_info = {'timestamp':int(time.time()), 'value': v} + pass + tx_time = int(tx_info['timestamp']) + tx_value = Decimal(str(tx_info['value'])) / COIN + if self.exchange == "CoinDesk": + tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d') try: - tx_info = tx_list[str(item.data(0, Qt.UserRole).toPyObject())] - except Exception: - newtx = wallet.get_history() - v = newtx[[x[0] for x in newtx].index(str(item.data(0, Qt.UserRole).toPyObject()))][2] - tx_info = {'timestamp':int(time.time()), 'value': v} - pass - tx_time = int(tx_info['timestamp']) - tx_value = Decimal(str(tx_info['value'])) / COIN - if self.exchange == "CoinDesk": - tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d') - try: - tx_fiat_val = "%.2f %s" % (tx_value * Decimal(self.resp_hist['bpi'][tx_time_str]), "USD") - except KeyError: - tx_fiat_val = "%.2f %s" % (self.btc_rate * Decimal(str(tx_info['value']))/COIN , "USD") - elif self.exchange == "Winkdex": - tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d') + "T16:00:00-04:00" - try: - tx_rate = self.resp_hist[[x['timestamp'] for x in self.resp_hist].index(tx_time_str)]['price'] - tx_fiat_val = "%.2f %s" % (tx_value * Decimal(tx_rate)/Decimal("100.0"), "USD") - except ValueError: - tx_fiat_val = "%.2f %s" % (self.btc_rate * Decimal(tx_info['value'])/COIN , "USD") - except KeyError: - tx_fiat_val = _("No data") - elif self.exchange == "BitcoinVenezuela": - tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d') - try: - num = self.resp_hist[tx_time_str].replace(',','') - tx_fiat_val = "%.2f %s" % (tx_value * Decimal(num), self.fiat_unit()) - except KeyError: - tx_fiat_val = _("No data") - - tx_fiat_val = " "*(12-len(tx_fiat_val)) + tx_fiat_val - item.setText(6, tx_fiat_val) - item.setFont(6, QFont(MONOSPACE_FONT)) - if Decimal(str(tx_info['value'])) < 0: - item.setForeground(6, QBrush(QColor("#BC1E1E"))) + tx_fiat_val = "%.2f %s" % (tx_value * Decimal(self.resp_hist['bpi'][tx_time_str]), "USD") + except KeyError: + tx_fiat_val = "%.2f %s" % (self.btc_rate * Decimal(str(tx_info['value']))/COIN , "USD") + elif self.exchange == "Winkdex": + tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d') + "T16:00:00-04:00" + try: + tx_rate = self.resp_hist[[x['timestamp'] for x in self.resp_hist].index(tx_time_str)]['price'] + tx_fiat_val = "%.2f %s" % (tx_value * Decimal(tx_rate)/Decimal("100.0"), "USD") + except ValueError: + tx_fiat_val = "%.2f %s" % (self.btc_rate * Decimal(tx_info['value'])/COIN , "USD") + except KeyError: + tx_fiat_val = _("No data") + elif self.exchange == "BitcoinVenezuela": + tx_time_str = datetime.datetime.fromtimestamp(tx_time).strftime('%Y-%m-%d') + try: + num = self.resp_hist[tx_time_str].replace(',','') + tx_fiat_val = "%.2f %s" % (tx_value * Decimal(num), self.fiat_unit()) + except KeyError: + tx_fiat_val = _("No data") + + tx_fiat_val = " "*(12-len(tx_fiat_val)) + tx_fiat_val + item.setText(6, tx_fiat_val) + item.setFont(6, QFont(MONOSPACE_FONT)) + if Decimal(str(tx_info['value'])) < 0: + item.setForeground(6, QBrush(QColor("#BC1E1E"))) window.is_edit = False