workaround for connection problems
This commit is contained in:
parent
4c517998ba
commit
4afd1ab87b
@ -83,17 +83,21 @@ class API_Handler:
|
||||
Returns:
|
||||
list: list of keywords
|
||||
"""
|
||||
keywords = []
|
||||
with r.Session() as s:
|
||||
headers = {'Authorization': 'Bearer ' + self.token + ":" + str(user_id)}
|
||||
req = s.get(self.db_adress + "/keywords", headers=headers)
|
||||
print(req.status_code)
|
||||
if(req.status_code == 200):
|
||||
keywords_json = req.json()["data"]
|
||||
keywords = []
|
||||
for keyword in keywords_json:
|
||||
keywords.append(keyword["keyword"])
|
||||
|
||||
return keywords
|
||||
|
||||
else:
|
||||
return self.get_user_keywords(user_id) # might end in infinite loop!!
|
||||
|
||||
|
||||
|
||||
def set_keyword(self, user_id, keyword):
|
||||
"""sets the keyword of the user
|
||||
@ -193,6 +197,8 @@ class API_Handler:
|
||||
with r.Session() as s:
|
||||
headers = {'Authorization': 'Bearer ' + self.token + ":" + str(user_id)}
|
||||
req = s.get(self.db_adress + "/transactions", headers=headers)
|
||||
|
||||
if req.status_code == 200:
|
||||
transactions_dict = dict(req.json()["data"])
|
||||
return transactions_dict
|
||||
|
||||
|
@ -245,12 +245,12 @@ def send_news(message):
|
||||
|
||||
user_id = int(message.from_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:
|
||||
formatted_article = news.format_article(news)
|
||||
for article in news_list:
|
||||
formatted_article = news.format_article(article)
|
||||
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)
|
||||
bot.send_message(chat_id=user_id, text=f'Keyword "{keyword}" added.')
|
||||
|
||||
|
||||
@bot.message_handler(commands=['removekeyword'])
|
||||
def remove_keyword(message):
|
||||
""" 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.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
|
||||
def echo_all(message):
|
||||
|
||||
|
@ -6,6 +6,7 @@ __date__ = "15.03.2022"
|
||||
__version__ = "0.0.1"
|
||||
__license__ = "None"
|
||||
|
||||
from ast import parse
|
||||
import sys
|
||||
import os
|
||||
import json
|
||||
@ -13,6 +14,7 @@ import requests
|
||||
|
||||
from newsapi import NewsApiClient
|
||||
from dotenv import load_dotenv
|
||||
import urllib.parse as urlparse
|
||||
|
||||
load_dotenv()
|
||||
|
||||
@ -32,7 +34,8 @@ def get_top_news_by_keyword(keyword):
|
||||
Returns:
|
||||
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
|
||||
|
||||
def format_article(article):
|
||||
|
Loading…
Reference in New Issue
Block a user