commit 4236adc5529157e641bfb9af8c0bf98d95642ec2
parent 98f99a34a3d5fb06cd917e933983c9edf3692123
Author: ThomasV <thomasv@electrum.org>
Date: Wed, 28 Feb 2018 09:50:28 +0100
fix date filtering
Diffstat:
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/gui/qt/history_list.py b/gui/qt/history_list.py
@@ -195,12 +195,12 @@ class HistoryList(MyTreeWidget, AcceptFileDragDrop):
r = self.wallet.get_full_history(domain=self.get_domain(), from_timestamp=self.start_timestamp, to_timestamp=self.end_timestamp, fx=fx)
self.transactions = r['transactions']
self.summary = r['summary']
- if not self.years and self.start_timestamp is None and self.end_timestamp is None:
- start_date = self.summary.get('start_date')
- end_date = self.summary.get('end_date')
- if start_date and end_date:
- self.years = [str(i) for i in range(start_date.year, end_date.year + 1)]
- self.period_combo.insertItems(1, self.years)
+ if not self.years and self.transactions:
+ from datetime import date
+ start_date = self.transactions[0].get('date') or date.today()
+ end_date = self.transactions[-1].get('date') or date.today()
+ self.years = [str(i) for i in range(start_date.year, end_date.year + 1)]
+ self.period_combo.insertItems(1, self.years)
item = self.currentItem()
current_tx = item.data(0, Qt.UserRole) if item else None
self.clear()
diff --git a/lib/wallet.py b/lib/wallet.py
@@ -990,9 +990,9 @@ class Abstract_Wallet(PrintError):
fiat_expenditures = 0
h = self.get_history(domain)
for tx_hash, height, conf, timestamp, value, balance in h:
- if from_timestamp and timestamp < from_timestamp:
+ if from_timestamp and (timestamp or time.time()) < from_timestamp:
continue
- if to_timestamp and timestamp >= to_timestamp:
+ if to_timestamp and (timestamp or time.time()) >= to_timestamp:
continue
item = {
'txid':tx_hash,
@@ -1029,7 +1029,7 @@ class Abstract_Wallet(PrintError):
income += value
# fiat computations
if fx is not None:
- date = timestamp_to_datetime(time.time() if conf <= 0 else timestamp)
+ date = timestamp_to_datetime(timestamp)
fiat_value = self.get_fiat_value(tx_hash, fx.ccy)
fiat_default = fiat_value is None
fiat_value = - fiat_value if fiat_value is not None else value / Decimal(COIN) * self.price_at_timestamp(tx_hash, fx.timestamp_rate)