/
server.py
45 lines (41 loc) · 1.29 KB
/
server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# /usr/bin/env python
from flask import Flask, request
import requests
import json
from twilio.twiml.messaging_response import MessagingResponse
from goose import Goose
app = Flask(__name__)
@app.route("/sms", methods=['GET', 'POST'])
def sms_ahoy_reply():
"""Respond to incoming messages with a friendly SMS."""
body = request.values.get('Body', None)
# Start our response
with open('news') as data_file:
current_news = json.load(data_file)
headlines = current_news['articles']
message = ""
if "news" in body or "News" in body:
headlines = current_news['articles']
i=0
while i < 19:
message = message + str(i+1) + ". " + headlines[i]['title'] + "\n"
i=i+1
elif "more" in body:
i = int(body.split()[0])
headlines = current_news['articles']
url = headlines[i-1]['url']
g = Goose()
article = g.extract(url=url)
message = article.cleaned_text[:1000]
message2 = article.cleaned_text[1000:][:1000]
message = message + "..."
else:
i=int(body)
message = ""
message = headlines[i-1]['description']
resp = MessagingResponse()
# Add a message
resp.message(message)
return str(resp)
if __name__ == "__main__":
app.run(debug=True)