Skip to content

Commit 7ddfbd0

Browse files
committed
Fix for FT symbols containing space
1 parent e22d4f4 commit 7ddfbd0

6 files changed

Lines changed: 27 additions & 7 deletions

File tree

examples.ods

6.82 KB
Binary file not shown.

src/financials.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def __init__(self, ctx):
9090
@profile
9191
def getRealtime(self, ticker, datacode=None, source=None):
9292

93-
if ticker == 'SUPPORT':
93+
if ticker == 'SUPPORT' or ticker == 'support':
9494
return self.support(datacode)
9595

9696
try:

src/financials_ft.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import os
1313
import re
1414
import time
15+
import urllib.parse
1516

1617
import dateutil.parser
1718

@@ -59,9 +60,6 @@ def getRealtime(self, ticker: str, datacode: int):
5960
:return:
6061
"""
6162

62-
# remove white space
63-
ticker = "".join(ticker.split())
64-
6563
# use cached value for up to 60 seconds
6664
if ticker in self.realtime:
6765
tick = self.realtime[ticker]
@@ -77,7 +75,7 @@ def getRealtime(self, ticker: str, datacode: int):
7775

7876
asset_class = self.guess_asset_class(ticker)
7977

80-
url = f'https://markets.ft.com/data/{asset_class}/tearsheet/summary?s={ticker}'
78+
url = f'https://markets.ft.com/data/{asset_class}/tearsheet/summary?s={urllib.parse.quote_plus(ticker)}'
8179

8280
try:
8381
text = self.urlopen(url, redirect=True, data=None, headers=None)

src/generate_metainfo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
cur_dir = os.getcwd()
1515

1616
addin_id = "com.financials.getinfo"
17-
addin_version = "3.0.0"
17+
addin_version = "3.0.1"
1818
addin_displayname = "Financial Market Extension"
1919
addin_publisher_link = "https://github.com/cmallwitz/Financials-Extension"
2020
addin_publisher_name = "The Publisher"

src/test_ft.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,17 @@ def test_DE_equity(self):
254254
s = financials.getRealtime('ISHAX:GER', 'EX_DIV_DATE', 'FT')
255255
self.assertIsNone(s, 'test_DE_equity EX_DIV_DATE {}'.format(s))
256256

257+
def test_DK_equity(self):
258+
s = financials.getRealtime('NOVO B:CPH', 'name', 'FT')
259+
self.assertEqual('Novo Nordisk A/S', s, 'test_DK_equity NAME {}'.format(s))
260+
261+
s = financials.getRealtime('NOVO B:CPH', 'currency', 'FT')
262+
self.assertEqual('DKK', s, 'test_DK_equity CURRENCY {}'.format(s))
263+
264+
s = financials.getRealtime('NOVO B:CPH', 'industry', 'FT')
265+
self.assertEqual(str, type(s), 'test_DK_equity INDUSTRY {}'.format(s))
266+
self.assertEqual('Pharmaceuticals & Biotechnology', s, 'test_DK_equity INDUSTRY {}'.format(s))
267+
257268
def test_TY_equity(self):
258269
s = financials.getRealtime('6503:TYO', 'OPEN', 'FT')
259270
self.assertEqual(float, type(s), 'test_TY_equity OPEN {}'.format(s))

src/test_yahoo.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,17 @@ def test_realtime_DE_equity(self):
195195
s = financials.getRealtime('C060.DE', Datacode.EXCHANGE.value, 'YAHOO')
196196
self.assertEqual(s, 'GER', 'test_realtime_DE_equity EXCHANGE')
197197

198+
def test_DK_equity(self):
199+
s = financials.getRealtime('NOVO-B.CO', 'name', 'YAHOO')
200+
self.assertEqual('Novo Nordisk A/S', s, 'test_DK_equity NAME {}'.format(s))
201+
202+
s = financials.getRealtime('NOVO-B.CO', 'currency', 'YAHOO')
203+
self.assertEqual('DKK', s, 'test_DK_equity CURRENCY {}'.format(s))
204+
205+
s = financials.getRealtime('NOVO-B.CO', 'industry', 'YAHOO')
206+
self.assertEqual(str, type(s), 'test_DK_equity INDUSTRY {}'.format(s))
207+
self.assertEqual('Biotechnology', s, 'test_DK_equity INDUSTRY {}'.format(s))
208+
198209
def test_realtime_TY_equity(self):
199210
s = financials.getRealtime('6503.T', Datacode.OPEN.value, 'YAHOO')
200211
self.assertEqual(float, type(s), 'test_TY_equity OPEN {}'.format(s))
@@ -261,7 +272,7 @@ def test_historic_US_equity(self):
261272

262273
# Note: quarterly dividend and splits will change past adjusted prices - will fail after the next dividend
263274
s = financials.getHistoric('IBM', Datacode.ADJ_CLOSE.value, '2017-01-03', 'YAHOO')
264-
self.assertEqual(137.772202, s, 'test_historic_US_equity ADJ_CLOSE {}'.format(s))
275+
self.assertEqual(136.249847, s, 'test_historic_US_equity ADJ_CLOSE {}'.format(s))
265276

266277
def test_historic_UK_ETF(self):
267278

0 commit comments

Comments
 (0)