diff --git a/.gitignore b/.gitignore index 1853d98..157a7cb 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ nosetests.xml env*/ tmp/ Data.fs* +*.sqlite *.sublime-project *.sublime-workspace .*.sw? diff --git a/cao_blogr/services/portfolio.py b/cao_blogr/services/portfolio.py index f921b04..856f208 100644 --- a/cao_blogr/services/portfolio.py +++ b/cao_blogr/services/portfolio.py @@ -70,7 +70,7 @@ class PFService(object): }) return - def update_portefeuille(request): + def update_portefeuille(request, today): # cumuler la valeur totale des actifs result = request.dbsession.query(Actifs, func.sum(Actifs.valeur).label("TotalValue")).first() TotalValue = result.TotalValue @@ -78,7 +78,8 @@ class PFService(object): items = PFService.get_actifs(request, '0') for item in items: pc_allocation = round(item.Actifs.valeur / TotalValue * 100, 3) - request.dbsession.query(Actifs).filter(Actifs.no_id == item.Actifs.no_id).update({'pc_allocation': pc_allocation}) + request.dbsession.query(Actifs).filter(Actifs.no_id == item.Actifs.no_id).update({'pc_allocation': pc_allocation, + 'modif_le': today}) # maj des allocations items = PFService.get_allocation(request, '0') diff --git a/cao_blogr/templates/portfolio/portfolio.jinja2 b/cao_blogr/templates/portfolio/portfolio.jinja2 index 70034ed..5119f32 100644 --- a/cao_blogr/templates/portfolio/portfolio.jinja2 +++ b/cao_blogr/templates/portfolio/portfolio.jinja2 @@ -140,7 +140,7 @@ {% endfor %} - Total + Total au {{ maj_pf_le.strftime('%d/%m/%Y') }} {{ '{0:0,.2f} €'.format(total_valeur).replace(',',' ') }} {% if total_pv >= 0 %} {{ '{0:0.2f} €'.format(total_pv) }} diff --git a/cao_blogr/views/portfolio.py b/cao_blogr/views/portfolio.py index ccd850c..4d4aad9 100644 --- a/cao_blogr/views/portfolio.py +++ b/cao_blogr/views/portfolio.py @@ -69,7 +69,8 @@ def portfolio(request): # time.sleep(1) # attendre 2 secondes # update du portefeuille - PFService.update_portefeuille(request) + today = datetime.datetime.now() + PFService.update_portefeuille(request, today) # relire les actifs actifs = PFService.get_actifs(request, '0') request.session.flash('Le portefeuille est mis à jour avec succès.', 'success') @@ -77,8 +78,9 @@ def portfolio(request): total_valeur = 0 total_pv = 0 total_rdt = 0 - + maj_pf_le = None for item in actifs: + maj_pf_le = item.Actifs.modif_le total_valeur += item.Actifs.valeur total_pv += item.Actifs.plus_value if total_valeur == 0: @@ -109,6 +111,7 @@ def portfolio(request): 'total_pv': total_pv, 'total_pc_value': total_pc_value, 'total_rdt': total_rdt, + 'maj_pf_le' : maj_pf_le, 'swr_rate' : swr_rate, 'swr_amount': float(total_valeur) * swr_rate / 100, } @@ -283,6 +286,7 @@ def actif_edit(request): form.populate_obj(entry) # récupérer le cours du symbole de Yahoo finance ticker = yf.Ticker(entry.symbole) + import pdb;pdb.set_trace() entry.cours = ticker.fast_info.get('lastPrice') entry.devise = ticker.fast_info.get('currency') entry.libelle = html.unescape(ticker.info.get('shortName'))