app.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from flask import Flask
  2. from flask import render_template
  3. from flask import request
  4. from flask import make_response
  5. from utils import connect_to_redis
  6. import os
  7. import socket
  8. import random
  9. import json
  10. option_a = os.getenv('OPTION_A', "Cats")
  11. option_b = os.getenv('OPTION_B', "Dogs")
  12. hostname = socket.gethostname()
  13. redis = connect_to_redis("redis")
  14. app = Flask(__name__)
  15. @app.route("/", methods=['POST','GET'])
  16. def hello():
  17. voter_id = request.cookies.get('voter_id')
  18. if not voter_id:
  19. voter_id = hex(random.getrandbits(64))[2:-1]
  20. vote = None
  21. if request.method == 'POST':
  22. vote = request.form['vote']
  23. data = json.dumps({'voter_id': voter_id, 'vote': vote})
  24. redis.rpush('votes', data)
  25. resp = make_response(render_template(
  26. 'index.html',
  27. option_a=option_a,
  28. option_b=option_b,
  29. hostname=hostname,
  30. vote=vote,
  31. ))
  32. resp.set_cookie('voter_id', voter_id)
  33. return resp
  34. if __name__ == "__main__":
  35. app.run(host='0.0.0.0', port=80, debug=True)