version.py 1.4 KB

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