main.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from gevent import pywsgi
  2. from flask import Flask, request, send_from_directory, render_template, jsonify
  3. import os
  4. import pytz
  5. import systime
  6. app = Flask(__name__)
  7. @app.route('/update/time', methods=['POST'])
  8. def update_time():
  9. if request.is_json:
  10. try:
  11. json_data = request.get_json()
  12. print("update time:", json_data)
  13. ret = systime.update_system_datetime(json_data["timezone"], json_data["year"], json_data["month"], json_data["date"], json_data["hour"], json_data["minute"])
  14. if(ret == 0):
  15. response = jsonify({'message': 'Successfully update time'})
  16. response.status_code = 200
  17. return response
  18. else:
  19. response = jsonify({'message': 'Failed update time'})
  20. response.status_code = 400
  21. return response
  22. except:
  23. response = jsonify({'message': 'Invalid json'})
  24. response.status_code = 400
  25. return response
  26. else:
  27. response = jsonify({'message': 'Required json'})
  28. response.status_code = 400
  29. return response
  30. @app.route('/timezones', methods=['GET'])
  31. def timezones():
  32. try:
  33. timezones_list = list(pytz.all_timezones)
  34. response = jsonify({
  35. 'message': 'Successfully',
  36. 'timezones': timezones_list
  37. })
  38. response.status_code = 200
  39. return response
  40. except Exception as e:
  41. response = jsonify({"message": str(e)})
  42. response.status_code = 500
  43. return response
  44. @app.route('/heartbeat', methods=['GET'])
  45. def heartbeat():
  46. response = jsonify({'message': 'Connected'})
  47. response.status_code = 200
  48. return response
  49. def main():
  50. print("Starting server, listen on 18001...")
  51. # app.run(host='0.0.0.0', port=8000, debug=True)
  52. server = pywsgi.WSGIServer(('0.0.0.0', 18001), app)
  53. try:
  54. server.serve_forever()
  55. except KeyboardInterrupt:
  56. print("Server stopped by user")
  57. server.stop()
  58. if __name__ == '__main__':
  59. main()