Merge pull request #18 from tpokorra/TP-202102-showLatestUpdateRates

show the date of the latest rate update on the monitor page
This commit was merged in pull request #18.
This commit is contained in:
2021-02-20 11:11:09 +01:00
committed by GitHub
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): def GetCurrentValue(self, userid, crypto, total_investment, current_value, total_tax_free):
amount_kept = 0 amount_kept = 0
last_updated = None
out = {} out = {}
out["crypto"] = crypto out["crypto"] = crypto
@@ -93,6 +94,7 @@ class Calc:
out["current_value"] = cv out["current_value"] = cv
out["amount_kept"] = amount_kept out["amount_kept"] = amount_kept
out["rateEUR"] = rateEUR.rate out["rateEUR"] = rateEUR.rate
last_updated = rateEUR.datetime_valid
else: else:
out["current_value"] = None out["current_value"] = None
out["amount_kept"] = None out["amount_kept"] = None
@@ -134,4 +136,4 @@ class Calc:
out["value_tax_free"] = amount_available_to_sell * rateEUR.rate out["value_tax_free"] = amount_available_to_sell * rateEUR.rate
total_tax_free += out["value_tax_free"] 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"> <div class="form-box">
<h2>Monitor</h2> <h2>Monitor</h2>
<a href="/monitor" class="button button-primary">Refresh</a><br/> <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> <p>Hint: these numbers are not very accurate.</p>
Total investment: {{total_investment|floatformat:2}} EUR<br/> Total investment: {{total_investment|floatformat:2}} EUR<br/>
+13 -2
View File
@@ -1,5 +1,7 @@
from django.shortcuts import render, redirect from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.conf import settings
import pytz
from apps.transactions.models import Transaction from apps.transactions.models import Transaction
from apps.rates.models import ExchangeRate from apps.rates.models import ExchangeRate
from apps.monitor.calc import Calc from apps.monitor.calc import Calc
@@ -13,14 +15,23 @@ def monitor(request):
total_investment = 0 total_investment = 0
current_value = 0 current_value = 0
total_tax_free = 0 total_tax_free = 0
last_updated = None
calc = Calc() calc = Calc()
for crypto in crypto_currencies: 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}) 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 @login_required
def graph(request): def graph(request):
+1
View File
@@ -1,4 +1,5 @@
django django
django-registration django-registration
pytz
matplotlib matplotlib
btcde btcde
+1
View File
@@ -15,3 +15,4 @@ EMAIL_USE_TLS = True
SITE_ID = 1 SITE_ID = 1
ABOUT_URL = 'https://about.example.com' ABOUT_URL = 'https://about.example.com'
TIME_ZONE = 'Europe/Amsterdam'