workaround for connection problems
This commit is contained in:
parent
4c517998ba
commit
4afd1ab87b
@ -83,16 +83,20 @@ class API_Handler:
|
|||||||
Returns:
|
Returns:
|
||||||
list: list of keywords
|
list: list of keywords
|
||||||
"""
|
"""
|
||||||
|
keywords = []
|
||||||
with r.Session() as s:
|
with r.Session() as s:
|
||||||
headers = {'Authorization': 'Bearer ' + self.token + ":" + str(user_id)}
|
headers = {'Authorization': 'Bearer ' + self.token + ":" + str(user_id)}
|
||||||
req = s.get(self.db_adress + "/keywords", headers=headers)
|
req = s.get(self.db_adress + "/keywords", headers=headers)
|
||||||
print(req.status_code)
|
if(req.status_code == 200):
|
||||||
keywords_json = req.json()["data"]
|
keywords_json = req.json()["data"]
|
||||||
keywords = []
|
for keyword in keywords_json:
|
||||||
for keyword in keywords_json:
|
keywords.append(keyword["keyword"])
|
||||||
keywords.append(keyword["keyword"])
|
|
||||||
|
return keywords
|
||||||
|
|
||||||
|
else:
|
||||||
|
return self.get_user_keywords(user_id) # might end in infinite loop!!
|
||||||
|
|
||||||
return keywords
|
|
||||||
|
|
||||||
|
|
||||||
def set_keyword(self, user_id, keyword):
|
def set_keyword(self, user_id, keyword):
|
||||||
@ -193,8 +197,10 @@ class API_Handler:
|
|||||||
with r.Session() as s:
|
with r.Session() as s:
|
||||||
headers = {'Authorization': 'Bearer ' + self.token + ":" + str(user_id)}
|
headers = {'Authorization': 'Bearer ' + self.token + ":" + str(user_id)}
|
||||||
req = s.get(self.db_adress + "/transactions", headers=headers)
|
req = s.get(self.db_adress + "/transactions", headers=headers)
|
||||||
transactions_dict = dict(req.json()["data"])
|
|
||||||
return transactions_dict
|
if req.status_code == 200:
|
||||||
|
transactions_dict = dict(req.json()["data"])
|
||||||
|
return transactions_dict
|
||||||
|
|
||||||
|
|
||||||
def set_transaction(self, user_id, count, price, symbol, timestamp):
|
def set_transaction(self, user_id, count, price, symbol, timestamp):
|
||||||
|
@ -245,12 +245,12 @@ def send_news(message):
|
|||||||
|
|
||||||
user_id = int(message.from_user.id)
|
user_id = int(message.from_user.id)
|
||||||
keywords = api_handler.get_user_keywords(user_id)
|
keywords = api_handler.get_user_keywords(user_id)
|
||||||
keyword_search = 'OR'.join(keywords)
|
keywords_search = ','.join(keywords)
|
||||||
|
|
||||||
news_list = api_handler.get_news_for_keyword(keyword_search)['articles']
|
news_list = news.get_top_news_by_keyword(keywords_search)["articles"]
|
||||||
|
|
||||||
for news in news_list:
|
for article in news_list:
|
||||||
formatted_article = news.format_article(news)
|
formatted_article = news.format_article(article)
|
||||||
bot.send_message(chat_id=user_id, text=formatted_article, parse_mode="MARKDOWN")
|
bot.send_message(chat_id=user_id, text=formatted_article, parse_mode="MARKDOWN")
|
||||||
|
|
||||||
|
|
||||||
@ -275,6 +275,7 @@ def store_keyword(message):
|
|||||||
api_handler.set_keyword(user_id, keyword)
|
api_handler.set_keyword(user_id, keyword)
|
||||||
bot.send_message(chat_id=user_id, text=f'Keyword "{keyword}" added.')
|
bot.send_message(chat_id=user_id, text=f'Keyword "{keyword}" added.')
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(commands=['removekeyword'])
|
@bot.message_handler(commands=['removekeyword'])
|
||||||
def remove_keyword(message):
|
def remove_keyword(message):
|
||||||
""" Remove keyword from user
|
""" Remove keyword from user
|
||||||
@ -296,6 +297,21 @@ def remove_keyword_step(message):
|
|||||||
bot.send_message(chat_id=user_id, text=f'Keyword "{keyword}" removed.')
|
bot.send_message(chat_id=user_id, text=f'Keyword "{keyword}" removed.')
|
||||||
|
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['keywords'])
|
||||||
|
def send_keywords(message):
|
||||||
|
""" Send keywords of user
|
||||||
|
:type message: message object bot
|
||||||
|
:param message: message that was reacted to, in this case always '/keywords'
|
||||||
|
|
||||||
|
:raises: none
|
||||||
|
|
||||||
|
:rtype: none
|
||||||
|
"""
|
||||||
|
user_id = int(message.from_user.id)
|
||||||
|
keywords = api_handler.get_user_keywords(user_id)
|
||||||
|
bot.send_message(chat_id=user_id, text=f'Your keywords are: {keywords}')
|
||||||
|
|
||||||
|
|
||||||
@bot.message_handler(func=lambda message: True) # Returning that command is unkown for any other statement
|
@bot.message_handler(func=lambda message: True) # Returning that command is unkown for any other statement
|
||||||
def echo_all(message):
|
def echo_all(message):
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ __date__ = "15.03.2022"
|
|||||||
__version__ = "0.0.1"
|
__version__ = "0.0.1"
|
||||||
__license__ = "None"
|
__license__ = "None"
|
||||||
|
|
||||||
|
from ast import parse
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
import json
|
import json
|
||||||
@ -13,6 +14,7 @@ import requests
|
|||||||
|
|
||||||
from newsapi import NewsApiClient
|
from newsapi import NewsApiClient
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
import urllib.parse as urlparse
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
@ -31,8 +33,9 @@ def get_top_news_by_keyword(keyword):
|
|||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
JSON/dict: dict containing articles
|
JSON/dict: dict containing articles
|
||||||
"""
|
"""
|
||||||
top_headlines = newsapi.get_top_headlines(q=keyword, sources=str_sources, language='en')
|
keyword_url = urlparse.quote(keyword)
|
||||||
|
top_headlines = newsapi.get_top_headlines(q=keyword_url, sources=str_sources, language='en')
|
||||||
return top_headlines
|
return top_headlines
|
||||||
|
|
||||||
def format_article(article):
|
def format_article(article):
|
||||||
|
Loading…
Reference in New Issue
Block a user