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()