show the date of the latest rate update on the monitor page

fixes #17
This commit is contained in:
2021-02-20 11:09:29 +01:00
parent 6cb7eb66d0
commit 059dafad60
5 changed files with 19 additions and 3 deletions
+3 -1
View File
@@ -59,6 +59,7 @@ class Calc:
def GetCurrentValue(self, userid, crypto, total_investment, current_value, total_tax_free):
amount_kept = 0
last_updated = None
out = {}
out["crypto"] = crypto
@@ -93,6 +94,7 @@ class Calc:
out["current_value"] = cv
out["amount_kept"] = amount_kept
out["rateEUR"] = rateEUR.rate
last_updated = rateEUR.datetime_valid
else:
out["current_value"] = None
out["amount_kept"] = None
@@ -134,4 +136,4 @@ class Calc:
out["value_tax_free"] = amount_available_to_sell * rateEUR.rate
total_tax_free += out["value_tax_free"]
return (total_investment, current_value, total_tax_free, rateEUR.rate, rateUSD.rate, out)
return (total_investment, current_value, total_tax_free, rateEUR.rate, rateUSD.rate, last_updated, out)
+1
View File
@@ -4,6 +4,7 @@
<div class="form-box">
<h2>Monitor</h2>
<a href="/monitor" class="button button-primary">Refresh</a><br/>
<font size="-1">last update: {{last_updated|date:'Y-m-d H:i:s'}} ({{django_timezone}})</font><br/>
<p>Hint: these numbers are not very accurate.</p>
Total investment: {{total_investment|floatformat:2}} EUR<br/>
+13 -2
View File
@@ -1,5 +1,7 @@
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from django.conf import settings
import pytz
from apps.transactions.models import Transaction
from apps.rates.models import ExchangeRate
from apps.monitor.calc import Calc
@@ -13,14 +15,23 @@ def monitor(request):
total_investment = 0
current_value = 0
total_tax_free = 0
last_updated = None
calc = Calc()
for crypto in crypto_currencies:
(total_investment, current_value, total_tax_free, rateEUR, rateUSD, out2) = calc.GetCurrentValue(request.user.id, crypto, total_investment, current_value, total_tax_free)
(total_investment, current_value, total_tax_free, rateEUR, rateUSD, last_updated, out2) = calc.GetCurrentValue(request.user.id, crypto, total_investment, current_value, total_tax_free)
cryptos.append({"crypto": crypto, "rateEUR": rateEUR, "rateUSD": rateUSD, **out2})
return render(request,"monitor.html",{'cryptos':cryptos, 'total_tax_free': total_tax_free, 'total_investment': total_investment, 'current_value': current_value})
django_timezone = pytz.timezone(settings.TIME_ZONE)
return render(request,"monitor.html",
{'cryptos':cryptos,
'total_tax_free': total_tax_free,
'total_investment': total_investment,
'current_value': current_value,
'last_updated': last_updated,
'django_timezone': django_timezone})
@login_required
def graph(request):
+1
View File
@@ -1,4 +1,5 @@
django
django-registration
pytz
matplotlib
btcde
+1
View File
@@ -15,3 +15,4 @@ EMAIL_USE_TLS = True
SITE_ID = 1
ABOUT_URL = 'https://about.example.com'
TIME_ZONE = 'Europe/Amsterdam'