Write media URLs to database, not media to disk
[mercuryms.git] / mms-download.py
1 import os
2 import sqlite3
3 from flask import Flask, request
4 from twilio.twiml.messaging_response import MessagingResponse
5
6 app = Flask(__name__)
7
8 @app.route("/mms", methods=['POST'])
9 def sms_reply():
10 """Respond to incoming multimedia messages with a confirmed download text."""
11 sender = request.form['From']
12 if request.form['NumMedia'] is not None:
13 urls = [request.form['MediaUrl' + str(idx)] for idx in range(int(request.form['NumMedia']))]
14
15 conn = sqlite3.connect("mercuryms.sqlite")
16 cursor = conn.cursor()
17 for url in urls:
18 cursor.execute('INSERT INTO MEDIA (PHONE_NUMBER, URI) VALUES (?, ?)', (sender, url))
19 conn.commit()
20 conn.close()
21
22 resp = MessagingResponse()
23 resp.message("Upload received!")
24 return str(resp)
25
26 if __name__ == '__main__':
27 env_port = os.environ.get("MERCURYMS_PORT")
28 port = int(env_port) if env_port is not None else 9092
29 app.run(host='0.0.0.0', port=port, debug=True)