39
39
40
40
CURRENT_VERSION = parse (__version__ )
41
41
42
- UPDATER_PATH , UPDATER_VERSION = get_updater_info ()
43
- UPDATER_VERSION = parse (UPDATER_VERSION )
44
-
45
42
CONNECT_ERROR_MSG = _ (
46
43
'Unable to connect to the Spyder update service.'
47
44
'<br><br>Make sure your connection is working properly.'
@@ -208,10 +205,10 @@ def get_asset_info(
208
205
209
206
210
207
def _check_asset_available (
211
- releases : dict [Version , dict ], updater : bool = False
208
+ releases : dict [Version , dict ],
209
+ current_version : Version ,
210
+ updater : bool = False
212
211
) -> AssetInfo | None :
213
- current_version = UPDATER_VERSION if updater else CURRENT_VERSION
214
-
215
212
latest_release = max (releases ) if releases else current_version
216
213
update_available = current_version < latest_release
217
214
asset_info = None
@@ -372,7 +369,7 @@ def _check_update_available(self, release: Version | None = None):
372
369
}
373
370
logger .debug (f"Available releases: { sorted (releases )} " )
374
371
375
- self .asset_info = _check_asset_available (releases )
372
+ self .asset_info = _check_asset_available (releases , CURRENT_VERSION )
376
373
377
374
def start (self ):
378
375
"""Main method of the worker."""
@@ -458,6 +455,8 @@ def __init__(self, stable_only):
458
455
self .asset_info = None
459
456
self .installer_path = None
460
457
self .error = None
458
+ __ , updater_version = get_updater_info ()
459
+ self .updater_version = parse (updater_version )
461
460
462
461
def _check_asset_available (self ):
463
462
"""Checks if there is an update available for the Updater."""
@@ -472,7 +471,9 @@ def _check_asset_available(self):
472
471
}
473
472
logger .debug (f"Available releases: { sorted (releases )} " )
474
473
475
- self .asset_info = _check_asset_available (releases , updater = True )
474
+ self .asset_info = _check_asset_available (
475
+ releases , self .updater_version , updater = True
476
+ )
476
477
477
478
def _clean_installer_dir (self ):
478
479
"""Remove downloaded file"""
@@ -533,7 +534,9 @@ def _install_update(self):
533
534
spy_updater_conda = glob (osp .join (dirname , "spyder-updater*.conda" ))[0 ]
534
535
535
536
conda_exe = find_conda ()
536
- conda_cmd = "update" if UPDATER_VERSION > parse ("0.0.0" ) else "create"
537
+ conda_cmd = "create"
538
+ if self .updater_version > parse ("0.0.0" ):
539
+ conda_cmd = "update"
537
540
env_path = osp .join (osp .dirname (sys .prefix ), "spyder-updater" )
538
541
cmd = [
539
542
# Update spyder-updater environment
@@ -559,9 +562,13 @@ def _install_update(self):
559
562
560
563
def start (self ):
561
564
"""Main method of the worker."""
565
+
562
566
try :
563
567
self ._check_asset_available ()
564
- if self .asset_info is None and UPDATER_VERSION == parse ("0.0.0" ):
568
+ if (
569
+ self .asset_info is None
570
+ and self .updater_version == parse ("0.0.0" )
571
+ ):
565
572
raise RuntimeError (
566
573
"Spyder-updater is not installed and "
567
574
"not available for download!"
0 commit comments