lambda.py - gamingskill - A Linux gaming news skill for Amazon Alexa, so I could get monthly AWS credits.
(HTM) git clone git://jay.scot/gamingskill
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
lambda.py (1074B)
---
1 from flask import Flask, render_template
2 from flask_ask import Ask, statement, question
3 import feedparser
4
5 # only get the minimal RSS feed
6 url = "https://www.gamingonlinux.com/article_rss.php?mini"
7
8 app = Flask(__name__)
9 ask = Ask(app, '/')
10
11 # Alexa open
12 @ask.intent("LatestNews")
13 @ask.launch
14 def latest():
15 feed = feedparser.parse(url)
16 # If the feed fetch fails, just return a failure message.
17 if feed.status != 200:
18 speech_text = render_template('error')
19 return statement(speech_text).simple_card('Linux Gaming News', speech_text)
20 x = 0
21 speech_data = ""
22 card_data = ""
23 for post in feed.entries:
24 speech_data += post.title + " <break time=\"1s\"/>"
25 card_data += post.title
26 x += 1
27 if x >= 5:
28 speech_text = render_template('latest', data=speech_data)
29 return statement(speech_text).simple_card('Linux Gaming News', card_data)
30
31 @ask.intent('AMAZON.HelpIntent')
32 def help():
33 speech_text = render_template('help')
34 return statement(speech_text).reprompt(speech_text).simple_card('Linux Gaming News', speech_text)
35
36 if __name__ == '__main__':
37 app.run()