version.py 1.4 KB

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