Skip to content

Commit 1029d17

Browse files
author
DUYN
committed
Add check for add of tickers
1 parent 693ac35 commit 1029d17

File tree

2 files changed

+29
-23
lines changed

2 files changed

+29
-23
lines changed

bot/bot.py

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from bot.data import remove_ticker, get_tickers, add_ticker, get_company_profile
66
from bot import __version__, OperationalException
77
from bot.data.data_provider_manager import DataProviderManager
8-
from bot.data.data_providers import DataProviderException
98

109
logger = logging.getLogger(__name__)
1110

@@ -30,31 +29,36 @@ def add_ticker(self, ticker: str) -> None:
3029
logger.info("Adding ticker ...")
3130

3231
if not get_company_profile(ticker, self.config):
33-
profile = self.__data_provider_manager.get_profile(ticker)
3432

35-
if not profile:
36-
raise OperationalException("Could not evaluate {} with the data providers".format(ticker))
33+
if self.__data_provider_manager.evaluate_ticker(ticker):
3734

38-
company_name = profile.get('profile', {}).get('companyName', None)
39-
category = profile.get('profile', {}).get('industry', None)
35+
profile = self.__data_provider_manager.get_profile(ticker)
4036

41-
if not company_name:
42-
raise OperationalException("Could not evaluate company name for ticker {} with the data providers")
37+
if not profile:
38+
raise OperationalException("Could not evaluate {} with the data providers".format(ticker))
4339

44-
if not company_name:
45-
raise OperationalException("Could not evaluate category for ticker {} with the data providers")
40+
company_name = profile.get('profile', {}).get('companyName', None)
41+
category = profile.get('profile', {}).get('industry', None)
4642

47-
try:
48-
add_ticker(
49-
ticker,
50-
company_name=company_name,
51-
category=category,
52-
config=self.config
53-
)
54-
except Exception:
55-
raise OperationalException(
56-
"Something went wrong with adding ticker {} to the registry".format(ticker)
57-
)
43+
if not company_name:
44+
raise OperationalException("Could not evaluate company name for ticker {} with the data providers")
45+
46+
if not company_name:
47+
raise OperationalException("Could not evaluate category for ticker {} with the data providers")
48+
49+
try:
50+
add_ticker(
51+
ticker,
52+
company_name=company_name,
53+
category=category,
54+
config=self.config
55+
)
56+
except Exception:
57+
raise OperationalException(
58+
"Something went wrong with adding ticker {} to the registry".format(ticker)
59+
)
60+
else:
61+
raise OperationalException("Could not evaluate ticker {} with the data providers".format(ticker))
5862
else:
5963
raise OperationalException(
6064
"Ticker {} is already present in registry".format(ticker)

bot/data/data_providers/fmp_data_provider.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import logging
22
import json
3-
from enum import Enum
43
from typing import Dict, Any
54

65
from urllib.request import urlopen
6+
from urllib import error
77

88
from bot.data.data_providers.data_provider import DataProvider, DataProviderException
99

@@ -32,8 +32,10 @@ def evaluate_ticker(self, ticker: str) -> bool:
3232
response = urlopen(url)
3333
data = response.read().decode("utf-8")
3434
data = json.loads(data)
35-
logger.info(data)
3635
return data['symbol'] == ticker
36+
except error.HTTPError:
37+
logger.info('Hello')
38+
return False
3739
except Exception:
3840
return False
3941

0 commit comments

Comments
 (0)