Alexa-news-stentiment-evalu.../reader/main.py

67 lines
1.7 KiB
Python
Raw Normal View History

2019-04-24 16:29:24 +00:00
import logging
import os
from flask import Flask
from flask_ask import Ask, request, session, question, statement
import random
import yaml
import site as s
app = Flask(__name__)
ask = Ask(app, "/")
logging.getLogger('flask_ask').setLevel(logging.DEBUG)
@ask.intent('Search',
mapping={'site': 'Site', 'searchTerm':'SearchTerm'},
default={'site': 'golem', 'searchTerm':''})
def search(site, searchTerm):
print(site, searchTerm)
if site == "golem":
obj = s.Golem()
elif site == "zeit":
obj = s.Zeit()
elif site == "welt":
obj = s.Welt()
else:
return statement("Es gab einen Fehler")
session.attributes["site"] = obj.url
articles, links = obj.search_article(searchTerm)
session.attributes["lastSearch"] = links
antwort = "Für welchen der folgenden Artikel interessieren Sie sich?"
for i in range(0, len(articles)):
antwort += articles[i] + "..."
return question(antwort)
@ask.intent('Read',
mapping={'site': 'Site', 'activity':'Activity'},
default={'site': 'golem', 'activity':'read_headlines'})
def read(site, activity):
print(site, activity)
response = ""
return statement(response)
@ask.intent('AMAZON.HelpIntent')
def help():
speech_text = 'Dieser Skill erlaubt es Ihnen einige Nachrichten Websites zu nutzen'
return statement(speech_text)
@ask.launch
def launch():
return read("golem", "read_headlines")
@ask.session_ended
def session_ended():
return "{}", 200
if __name__ == '__main__':
if 'ASK_VERIFY_REQUESTS' in os.environ:
verify = str(os.environ.get('ASK_VERIFY_REQUESTS', '')).lower()
if verify == 'false':
app.config['ASK_VERIFY_REQUESTS'] = False
app.run()