diff --git a/caotek_mesavoirs/models/actifs.py b/caotek_mesavoirs/models/actifs.py index f4953ad..041d4db 100644 --- a/caotek_mesavoirs/models/actifs.py +++ b/caotek_mesavoirs/models/actifs.py @@ -153,9 +153,9 @@ def getCurrencyRate(currency): rate = divs[1].span.text return float(rate.replace(',','.')) -def getYahooQuote(ticker): - # specify the url - quote_page = 'https://finance.yahoo.com/quote/%s/history/' % ticker +def getFTQuote(ticker): + # specify the url of The Financial Times + quote_page = 'https://markets.ft.com/data/funds/tearsheet/historical?s=%s' % ticker # query & parse the html using beautiful soap and store in variable `soup` soup = BeautifulSoup(urllib2.urlopen(quote_page), 'html.parser') @@ -164,11 +164,10 @@ def getYahooQuote(ticker): rows = soup.findAll('table')[0].tbody.findAll('tr') for each_row in rows: divs = each_row.findAll('td') - if divs[1].span.text != 'Dividend': #Ignore this row in the table - #I'm only interested in 'Close' price; - data.append({'Date': divs[0].span.text, 'Close': float(divs[5].span.text.replace(',',''))}) - break + #I'm only interested in 'Close' price; + quote_price = float(divs[4].text.replace(',','')) + break # retourne la prière ligne - return data[0] + return quote_price diff --git a/caotek_mesavoirs/templates/actifs/actif_edit.pt b/caotek_mesavoirs/templates/actifs/actif_edit.pt index 067ca4b..462c28b 100644 --- a/caotek_mesavoirs/templates/actifs/actif_edit.pt +++ b/caotek_mesavoirs/templates/actifs/actif_edit.pt @@ -21,7 +21,7 @@
- +
-
+

diff --git a/caotek_mesavoirs/views/actifs.py b/caotek_mesavoirs/views/actifs.py index 3aeae1c..578096f 100644 --- a/caotek_mesavoirs/views/actifs.py +++ b/caotek_mesavoirs/views/actifs.py @@ -69,13 +69,13 @@ def actif_edit(request): new_values[param] = request.params[param] if new_values: - # récupérer les infos du symbole de Yahoo finance + # récupérer les infos du symbole de FT finance if 'symbole' in request.params: symbole = request.params['symbole'] else: symbole = actif.symbole - quote_price = getYahooQuote(symbole) + quote_price = getFTQuote(symbole) if quote_price: new_values['cours'] = quote_price['Close'] @@ -247,8 +247,7 @@ def histo_edit(request): if new_values: # lire le cours de l'indice de réfence : Carmignac Investissement A EUR Acc - sym = Share('FR0010148981.PA') - new_values['cours_ref'] = sym.get_price() + new_values['cours_ref'] = getFTQuote('FR0010148981:EUR') update_histo(request, no_id, new_values) request.session.flash(u"La fiche a été mise à jour avec succès.", 'success') diff --git a/caotek_mesavoirs/views/default.py b/caotek_mesavoirs/views/default.py index d02bfca..f722086 100644 --- a/caotek_mesavoirs/views/default.py +++ b/caotek_mesavoirs/views/default.py @@ -110,8 +110,8 @@ def home(request): for item in actifs: if item.type == 'ACTION': - # get yahoo price - quote_price = getYahooQuote(item.symbole) + # get FT price + quote_price = getFTQuote(item.symbole) if quote_price: update_actif_valeur(request, item.symbole, quote_price['Close']) time.sleep(2) # attendre 2 secondes