version.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # -*- coding:utf-8 -*-
  2. import json
  3. import logging
  4. import requests
  5. from flask import current_app
  6. from flask_restful import reqparse, Resource
  7. from werkzeug.exceptions import InternalServerError
  8. from . import api
  9. class VersionApi(Resource):
  10. def get(self):
  11. parser = reqparse.RequestParser()
  12. parser.add_argument('current_version', type=str, required=True, location='args')
  13. args = parser.parse_args()
  14. check_update_url = current_app.config['CHECK_UPDATE_URL']
  15. try:
  16. response = requests.get(check_update_url, {
  17. 'current_version': args.get('current_version')
  18. })
  19. except Exception as error:
  20. logging.exception("Check update error.")
  21. raise InternalServerError()
  22. content = json.loads(response.content)
  23. return {
  24. 'version': content['version'],
  25. 'release_date': content['releaseDate'],
  26. 'release_notes': content['releaseNotes'],
  27. 'can_auto_update': content['canAutoUpdate']
  28. }
  29. api.add_resource(VersionApi, '/version')