mirror of
https://github.com/clearml/clearml
synced 2025-06-23 01:55:38 +00:00
Check for updates based on session version
This commit is contained in:
parent
b9f5cdf8bf
commit
13ce783fa3
@ -51,6 +51,8 @@ class Session(TokenManager):
|
|||||||
_sessions_created = 0
|
_sessions_created = 0
|
||||||
_ssl_error_count_verbosity = 2
|
_ssl_error_count_verbosity = 2
|
||||||
|
|
||||||
|
_client = [(__package__.partition(".")[0], __version__)]
|
||||||
|
|
||||||
api_version = '2.1'
|
api_version = '2.1'
|
||||||
default_host = "https://demoapi.trains.allegro.ai"
|
default_host = "https://demoapi.trains.allegro.ai"
|
||||||
default_web = "https://demoapp.trains.allegro.ai"
|
default_web = "https://demoapp.trains.allegro.ai"
|
||||||
@ -91,7 +93,6 @@ class Session(TokenManager):
|
|||||||
logger=None,
|
logger=None,
|
||||||
verbose=None,
|
verbose=None,
|
||||||
initialize_logging=True,
|
initialize_logging=True,
|
||||||
client=None,
|
|
||||||
config=None,
|
config=None,
|
||||||
http_retries_config=None,
|
http_retries_config=None,
|
||||||
**kwargs
|
**kwargs
|
||||||
@ -150,7 +151,7 @@ class Session(TokenManager):
|
|||||||
if not self.__max_req_size:
|
if not self.__max_req_size:
|
||||||
raise ValueError("missing max request size")
|
raise ValueError("missing max request size")
|
||||||
|
|
||||||
self.client = client or "api-{}".format(__version__)
|
self.client = ", ".join("{}-{}".format(*x) for x in self._client)
|
||||||
|
|
||||||
self.refresh_token()
|
self.refresh_token()
|
||||||
|
|
||||||
|
@ -97,7 +97,6 @@ class InterfaceBase(SessionInterface):
|
|||||||
if not InterfaceBase._default_session:
|
if not InterfaceBase._default_session:
|
||||||
InterfaceBase._default_session = Session(
|
InterfaceBase._default_session = Session(
|
||||||
initialize_logging=False,
|
initialize_logging=False,
|
||||||
client='sdk-%s' % __version__,
|
|
||||||
config=config_obj,
|
config=config_obj,
|
||||||
api_key=ENV_ACCESS_KEY.get(),
|
api_key=ENV_ACCESS_KEY.get(),
|
||||||
secret_key=ENV_SECRET_KEY.get(),
|
secret_key=ENV_SECRET_KEY.get(),
|
||||||
|
@ -201,8 +201,8 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin):
|
|||||||
if not latest_version[1]:
|
if not latest_version[1]:
|
||||||
sep = os.linesep
|
sep = os.linesep
|
||||||
self.get_logger().report_text(
|
self.get_logger().report_text(
|
||||||
'TRAINS new package available: UPGRADE to v{} is recommended!\nRelease Notes:\n{}'.format(
|
'{} new package available: UPGRADE to v{} is recommended!\nRelease Notes:\n{}'.format(
|
||||||
latest_version[0], sep.join(latest_version[2])),
|
Session._client[0][0].upper(), latest_version[0], sep.join(latest_version[2])),
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
self.get_logger().report_text(
|
self.get_logger().report_text(
|
||||||
|
@ -3,7 +3,6 @@ from __future__ import absolute_import, division, print_function
|
|||||||
import collections
|
import collections
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
import threading
|
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
import six
|
import six
|
||||||
@ -12,6 +11,8 @@ if six.PY3:
|
|||||||
else:
|
else:
|
||||||
inf = float('inf')
|
inf = float('inf')
|
||||||
|
|
||||||
|
from ..backend_api.session import Session
|
||||||
|
|
||||||
|
|
||||||
class InvalidVersion(ValueError):
|
class InvalidVersion(ValueError):
|
||||||
"""
|
"""
|
||||||
@ -314,23 +315,31 @@ class CheckPackageUpdates(object):
|
|||||||
|
|
||||||
# noinspection PyBroadException
|
# noinspection PyBroadException
|
||||||
try:
|
try:
|
||||||
from ..version import __version__
|
|
||||||
cls._package_version_checked = True
|
cls._package_version_checked = True
|
||||||
cur_version = Version(__version__)
|
client, version = Session._client[0]
|
||||||
update_server_releases = requests.get('https://updates.trains.allegro.ai/updates',
|
version = Version(version)
|
||||||
data=json.dumps({"versions": {"trains": str(cur_version)}}),
|
|
||||||
timeout=3.0)
|
update_server_releases = requests.get(
|
||||||
|
'https://updates.trains.allegro.ai/updates',
|
||||||
|
json={"versions": {c: str(v) for c, v in Session._client}},
|
||||||
|
timeout=3.0
|
||||||
|
)
|
||||||
|
|
||||||
if update_server_releases.ok:
|
if update_server_releases.ok:
|
||||||
update_server_releases = update_server_releases.json()
|
update_server_releases = update_server_releases.json()
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
trains_answer = update_server_releases.get("trains", {})
|
|
||||||
latest_version = Version(trains_answer.get("version"))
|
|
||||||
|
|
||||||
if cur_version >= latest_version:
|
client_answer = update_server_releases.get(client, {})
|
||||||
|
if "version" not in client_answer:
|
||||||
return None
|
return None
|
||||||
not_patch_upgrade = latest_version.release[:2] == cur_version.release[:2]
|
|
||||||
return str(latest_version), not_patch_upgrade, trains_answer.get("description").split("\r\n")
|
latest_version = Version(client_answer["version"])
|
||||||
|
|
||||||
|
if version >= latest_version:
|
||||||
|
return None
|
||||||
|
not_patch_upgrade = latest_version.release[:2] == version.release[:2]
|
||||||
|
return str(latest_version), not_patch_upgrade, client_answer.get("description").split("\r\n")
|
||||||
except Exception:
|
except Exception:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user