NoneType Fix #196

Merged
FlorianKellermann merged 4 commits from bot into main 2022-05-13 10:33:11 +00:00
2 changed files with 24 additions and 18 deletions

View File

@ -208,7 +208,7 @@ def send_status(message):
bot.reply_to(message, "bot is running") bot.reply_to(message, "bot is running")
@bot.message_handler(commands=['portfolio', 'Portfolio']) # /update -> update shares @bot.message_handler(commands=['portfolio', 'Portfolio']) # /portfolio -> print all owned shares
def update_for_user(message): def update_for_user(message):
p_user_id = int(message.from_user.id) p_user_id = int(message.from_user.id)
p_my_handler = api_handler p_my_handler = api_handler

View File

@ -63,8 +63,13 @@ def update_crontab(p_my_handler):
global user_crontab global user_crontab
global user_ids global user_ids
all_users = p_my_handler.get_all_users() # get all users so crontabs can update for everybody all_users = p_my_handler.get_all_users() # get all users so crontabs can update for everybody
if all_users == None:
print("No users found, trying again.")
update_crontab(p_my_handler)
return
user_ids = [] user_ids = []
user_crontab = [] user_crontab = []
@ -75,10 +80,9 @@ def update_crontab(p_my_handler):
user_ids.append(int(element["telegram_user_id"])) user_ids.append(int(element["telegram_user_id"]))
try: try:
user_crontab.append(str(element["cron"])) user_crontab.append(str(element["cron"]))
except: except:
user_ids.pop() # if something goes wrong with cron I have to delete matching user id user_ids.pop() # if something goes wrong with cron I have to delete matching user id
except: except: continue
continue
print(user_ids) print(user_ids)
@ -130,21 +134,23 @@ def update_for_user(p_user_id, p_my_handler):
""" """
share_symbols = [] share_symbols = []
share_amounts = [] share_amounts = []
my_portfolio = p_my_handler.get_user_portfolio(p_user_id) # get all existing shares for user
my_portfolio = p_my_handler.get_user_portfolio(p_user_id) # get all existing shares for user if my_portfolio!=None:
for element in my_portfolio:
for element in my_portfolio: if element["count"] != '' and element["isin"] != '':
if element["count"] != '' and element["isin"] != '': print(element["count"], element["isin"])
print(element["count"], element["isin"]) share_symbols.append(element["isin"])
share_symbols.append(element["isin"]) share_amounts.append(element["count"])
share_amounts.append(element["count"])
my_user = p_my_handler.get_user(p_user_id) my_user = p_my_handler.get_user(p_user_id)
send_to_user("Hello %s this is your share update for today:" % str(my_user["username"]), pUser_id=p_user_id) send_to_user("Hello %s this is your update for today:"%str(my_user["username"]), pUser_id=p_user_id)
shares = p_my_handler.get_user_shares(p_user_id) # all interest shares
if len(share_symbols) != 0: # iterate through all shares
shares = p_my_handler.get_user_shares(p_user_id) # all interest shares
if len(share_symbols) != 0: # iterate through all shares
for i in range(len(share_symbols)): for i in range(len(share_symbols)):
my_price = share_fetcher.get_share_price_no_currency(share_symbols[i]) my_price = share_fetcher.get_share_price_no_currency(share_symbols[i])
my_update_message = f'{share_fetcher.get_share_information_markdown(share_symbols[i])}\ncount: {hf.make_markdown_proof(share_amounts[i])}\nTotal: {hf.make_markdown_proof(round(float(my_price) * float(share_amounts[i]), 2))} EUR' my_update_message = f'{share_fetcher.get_share_information_markdown(share_symbols[i])}\ncount: {hf.make_markdown_proof(share_amounts[i])}\nTotal: {hf.make_markdown_proof(round(float(my_price) * float(share_amounts[i]), 2))} EUR'