@@ -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)
|
||||
|
||||
@@ -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
@@ -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,4 +1,5 @@
|
||||
django
|
||||
django-registration
|
||||
pytz
|
||||
matplotlib
|
||||
btcde
|
||||
|
||||
@@ -15,3 +15,4 @@ EMAIL_USE_TLS = True
|
||||
|
||||
SITE_ID = 1
|
||||
ABOUT_URL = 'https://about.example.com'
|
||||
TIME_ZONE = 'Europe/Amsterdam'
|
||||
|
||||
Reference in New Issue
Block a user