Working for all isins and new requirements #144

Merged
FlorianKellermann merged 13 commits from bot into main 2022-05-08 08:44:02 +00:00
2 changed files with 71 additions and 17 deletions
Showing only changes of commit 3884d0aca7 - Show all commits

View File

@ -7,4 +7,5 @@ APScheduler~=3.9.1
croniter~=1.3.4
tzlocal==2.1
investpy~=1.0.8
pandas~=1.4.1
pandas~=1.4.1
currencyconverter~=0.16.12

View File

@ -8,6 +8,7 @@ __license__ = "None"
import investpy
import pandas
from currency_converter import CurrencyConverter
def get_share_price(str_search_for):
"""get stock price per share for company name or isin or symbol
@ -17,19 +18,43 @@ def get_share_price(str_search_for):
Returns: none
"""
search_result = investpy.search_quotes(text=str_search_for, products=['stocks'], n_results=1, countries=['germany', 'united states'])
try:
search_result = investpy.search_quotes(text=str_search_for, products=['stocks'], n_results=1, countries=['germany'])
currency = str(search_result.retrieve_currency())
currency = str(search_result.retrieve_currency())
recent_data = pandas.DataFrame(search_result.retrieve_recent_data())
stock_price = recent_data.iloc[-1]["Close"]
stock_price = round(float(stock_price), 2)
str_return =str(stock_price) + " " + str(currency)
recent_data = pandas.DataFrame(search_result.retrieve_recent_data())
return str_return
stock_price = recent_data.iloc[-1]["Close"]
str_return =str(stock_price) + " " + str(currency)
return str_return
except RuntimeError:
try:
my_Converter = CurrencyConverter()
search_result = investpy.search_quotes(text=str_search_for, products=['stocks'], n_results=1)
currency = str(search_result.retrieve_currency())
recent_data = pandas.DataFrame(search_result.retrieve_recent_data())
stock_price = recent_data.iloc[-1]["Close"]
stock_price = my_Converter.convert(float(stock_price), str(currency), 'EUR')
stock_price = round(float(stock_price), 2)
str_return =str(stock_price) + " EUR"
return str_return
except RuntimeError:
return "None"
def get_share_price_no_currency(str_search_for):
"""get stock price per share for company name or isin or symbol no currency
@ -39,21 +64,49 @@ def get_share_price_no_currency(str_search_for):
Returns: none
"""
try:
search_result = investpy.search_quotes(text=str_search_for, products=['stocks'],
countries=['germany'], n_results=1)
recent_data = pandas.DataFrame(search_result.retrieve_recent_data())
stock_price = recent_data.iloc[-1]["Close"]
stock_price = round(float(stock_price), 2)
return stock_price
search_result = investpy.search_quotes(text=str_search_for, products=['stocks'],
countries=['germany', 'united states'], n_results=1)
except RuntimeError:
my_Converter = CurrencyConverter()
search_result = investpy.search_quotes(text=str_search_for, products=['stocks'], n_results=1)
currency = str(search_result.retrieve_currency())
recent_data = pandas.DataFrame(search_result.retrieve_recent_data())
recent_data = pandas.DataFrame(search_result.retrieve_recent_data())
stock_price = recent_data.iloc[-1]["Close"]
stock_price = my_Converter.convert(float(stock_price), str(currency), 'EUR')
stock_price = round(float(stock_price), 2)
str_return =str(stock_price)
stock_price = recent_data.iloc[-1]["Close"]
return stock_price
return str_return
def get_share_information(str_search_for):
search_result = investpy.search_quotes(text=str_search_for, products=['stocks'],
countries=['germany', 'united states'], n_results=1)
countries=['germany'], n_results=1)
str_return = "Company: " + search_result.name + "\nSymbol: " + search_result.symbol + "\nCurrent Price/Share: " + get_share_price(str_search_for)
return str_return
if __name__ == "__main__":
print(get_share_price("US2515661054"))
print(get_share_price("DE0005557508"))
print(get_share_price_no_currency("US2515661054"))
print(get_share_price_no_currency("DE0005557508"))