fixed histo_edit
This commit is contained in:
@@ -47,26 +47,28 @@ def portfolio(request):
|
||||
if 'form.submitted' in request.params:
|
||||
# lire le cours de EURUSD
|
||||
ticker = yf.Ticker('EUR=X')
|
||||
|
||||
# maj des parités des devises
|
||||
PFService.update_actif_devise(request, 'USD', ticker.info.get('regularMarketPrice'))
|
||||
taux = ticker.fast_info.get('lastPrice')
|
||||
PFService.update_actif_devise(request, 'USD', taux)
|
||||
|
||||
for item in actifs:
|
||||
if item.Allocation.type == 'ACTION':
|
||||
# lire le cours de l'action
|
||||
ticker = yf.Ticker(item.Actifs.symbole)
|
||||
# ticker delisted ?
|
||||
if ticker.info == None:
|
||||
if item.Actifs.symbole == 'SHLDQ':
|
||||
price = 0
|
||||
dividends = 0
|
||||
else:
|
||||
price = ticker.info.get('regularMarketPrice')
|
||||
# caluler son rendement
|
||||
dividends = PFService.get_dividends(ticker)
|
||||
price = ticker.fast_info.get('lastPrice')
|
||||
# caluler son rendement
|
||||
dividends = PFService.get_dividends(ticker)
|
||||
|
||||
PFService.update_actif_valeur(request, item.Actifs.symbole, price, dividends)
|
||||
# time.sleep(1) # attendre 2 secondes
|
||||
|
||||
# update du portefeuille
|
||||
PFService.update_portefeuille(request, logged_in)
|
||||
PFService.update_portefeuille(request)
|
||||
# relire les actifs
|
||||
actifs = PFService.get_actifs(request, '0')
|
||||
request.session.flash('Le portefeuille est mis à jour avec succès.', 'success')
|
||||
@@ -190,16 +192,28 @@ def histo_edit(request):
|
||||
page_title = "Modifier histo no " + str(entry.no_id)
|
||||
|
||||
if 'form.submitted' in request.params and form.validate():
|
||||
if no_id == '0':
|
||||
form.populate_obj(entry)
|
||||
request.dbsession.add(entry)
|
||||
return HTTPFound(location=request.route_url('histo_list'))
|
||||
else:
|
||||
del form.no_id # SECURITY: prevent overwriting of primary key
|
||||
form.populate_obj(entry)
|
||||
# lire le cours de l'indice de réfence : Carmignac Investissement A EUR Acc
|
||||
ticker = yf.Ticker('0P00000FB2.F')
|
||||
entry.cours_ref = ticker.info.get('regularMarketPrice')
|
||||
form.populate_obj(entry)
|
||||
|
||||
# lire le cours de l'indice de réfence : Carmignac Investissement A EUR Acc
|
||||
ticker = yf.Ticker('0P00000FB2.F')
|
||||
entry.cours_ref = ticker.fast_info.last_price
|
||||
|
||||
# lire le dernier histo
|
||||
last = PFService.get_last_histo(request)
|
||||
|
||||
# lire les actifs et cumuler leurs valeurs
|
||||
actifs = PFService.get_actifs(request, '0')
|
||||
valeur_pf = 0
|
||||
for item in actifs:
|
||||
valeur_pf += item.Actifs.valeur
|
||||
|
||||
entry.valeur_pf = valeur_pf
|
||||
# nlle valeur part = ancienne + nouvelle ratio
|
||||
entry.nb_part = last.nb_part + (float(entry.mvt_cash) / (valeur_pf - float(entry.mvt_cash))/last.nb_part)
|
||||
entry.val_part = entry.valeur_pf / entry.nb_part
|
||||
entry.val_part_ref = float(entry.cours_ref) * last.val_part_ref / last.cours_ref
|
||||
|
||||
request.dbsession.add(entry)
|
||||
|
||||
return HTTPFound(location=request.route_url('histo_list'))
|
||||
|
||||
@@ -249,8 +263,8 @@ def actif_edit(request):
|
||||
form.populate_obj(entry)
|
||||
# récupérer le cours du symbole de Yahoo finance
|
||||
ticker = yf.Ticker(entry.symbole)
|
||||
entry.cours = ticker.fast_info.last_price
|
||||
entry.devise = ticker.info.get('currency')
|
||||
entry.cours = ticker.fast_info.get('lastPrice')
|
||||
entry.devise = ticker.fast_info.get('currency')
|
||||
entry.libelle = html.unescape(ticker.info.get('shortName'))
|
||||
# raccourcir le libelle
|
||||
entry.libelle = entry.libelle.replace('UCITS ','')
|
||||
@@ -267,8 +281,8 @@ def actif_edit(request):
|
||||
form.populate_obj(entry)
|
||||
# récupérer le cours du symbole de Yahoo finance
|
||||
ticker = yf.Ticker(entry.symbole)
|
||||
entry.cours = ticker.fast_info.last_price
|
||||
entry.devise = ticker.info.get('currency')
|
||||
entry.cours = ticker.fast_info.get('lastPrice')
|
||||
entry.devise = ticker.fast_info.get('currency')
|
||||
entry.libelle = html.unescape(ticker.info.get('shortName'))
|
||||
# raccourcir le libelle
|
||||
entry.libelle = entry.libelle.replace('UCITS ','')
|
||||
|
||||
Reference in New Issue
Block a user