Skip to content

Commit 10587bb

Browse files
authored
SW-1224 support legacy image for new update mechanism (mrbeam#39)
* copy changes of update script from mrbeam plugin da7bb9def8e0d6451c7a7548f9f5f54f6fd7b27d 6780c5ab0d39755d04e7c1acd64ef408be1b9aeb * fix dependency version for archive removed python-version-warning as this is incompatible to the legacy image
1 parent 9f2dd90 commit 10587bb

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

octoprint_netconnectd/scripts/update_script.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,6 @@ def build_wheels(build_queue):
184184

185185
pip_args = [
186186
"wheel",
187-
"--no-python-version-warning",
188187
"--disable-pip-version-check",
189188
"--wheel-dir={}".format(tmp_folder), # Build wheels into <dir>, where the default is the current working directory.
190189
"--no-dependencies", # Don't install package dependencies.
@@ -221,7 +220,6 @@ def install_wheels(install_queue):
221220
tmp_folder = os.path.join(PIP_WHEEL_TEMP_FOLDER, re.search(r"\w+((?=\/venv)|(?=\/bin))", venv).group(0))
222221
pip_args = [
223222
"install",
224-
"--no-python-version-warning",
225223
"--disable-pip-version-check",
226224
"--upgrade", # Upgrade all specified packages to the newest available version. The handling of dependencies depends on the upgrade-strategy used.
227225
"--no-index", # Ignore package index (only looking at --find-links URLs instead).
@@ -279,33 +277,41 @@ def build_queue(update_info, dependencies, plugin_archive):
279277
raise RuntimeError(
280278
"no update info for dependency {}".format(dependency["name"])
281279
)
280+
281+
# override the dependency version from the dependencies files with the one from the cloud config
282+
if dependency_config.get("version"):
283+
version_needed = dependency_config.get("version")
284+
else:
285+
version_needed = dependency.get("version")
286+
282287
if dependency_config.get("pip"):
283288
archive = dependency_config["pip"].format(
284-
target_version="v{version}".format(version=dependency["version"]),
289+
target_version="v{version}".format(version=version_needed),
285290
)
286291
else:
287292
raise RuntimeError(
288293
"pip not configured for {}".format(dependency["name"])
289294
)
290295

291-
version = get_version_of_pip_module(
296+
installed_version = get_version_of_pip_module(
292297
dependency["name"],
293298
dependency_config.get("pip_command", DEFAULT_OPRINT_VENV),
294299
)
295-
if version != dependency["version"]:
300+
301+
if installed_version != version_needed:
296302
install_queue.setdefault(
297303
dependency_config.get("pip_command", DEFAULT_OPRINT_VENV), []
298304
).append(
299305
{
300306
"name": dependency["name"],
301307
"archive": archive,
302-
"target": dependency["version"],
308+
"target": version_needed,
303309
}
304310
)
305311
else:
306312
print(
307313
"skip dependency {} as the target version {} is already installed".format(
308-
dependency["name"], dependency["version"]
314+
dependency["name"], version_needed
309315
)
310316
)
311317
return install_queue
@@ -324,9 +330,7 @@ def run_update():
324330
# get update config of dependencies
325331
update_info = get_update_info()
326332

327-
install_queue = build_queue(
328-
update_info, dependencies, args.archive
329-
)
333+
install_queue = build_queue(update_info, dependencies, args.archive)
330334

331335
print("install_queue", install_queue)
332336
if install_queue is not None:

0 commit comments

Comments
 (0)