mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
move tools_update check for notif in _list_upgradable_apps helper
This commit is contained in:
parent
6ae9108dec
commit
968687b512
2 changed files with 23 additions and 20 deletions
21
src/app.py
21
src/app.py
|
@ -2397,6 +2397,27 @@ def _extract_app_from_gitrepo(
|
|||
return manifest, extracted_app_folder
|
||||
|
||||
|
||||
def _list_upgradable_apps():
|
||||
upgradable_apps = list(app_list(upgradable=True)["apps"])
|
||||
|
||||
# Retrieve next manifest pre_upgrade notifications
|
||||
for app in upgradable_apps:
|
||||
absolute_app_name, _ = _parse_app_instance_name(app["id"])
|
||||
manifest, extracted_app_folder = _extract_app(absolute_app_name)
|
||||
current_version = version.parse(app["current_version"])
|
||||
app["notifications"] = {}
|
||||
if manifest["notifications"]["pre_upgrade"]:
|
||||
app["notifications"]["pre_upgrade"] = _filter_and_hydrate_notifications(
|
||||
manifest["notifications"]["pre_upgrade"],
|
||||
current_version,
|
||||
app["settings"],
|
||||
)
|
||||
del app["settings"]
|
||||
shutil.rmtree(extracted_app_folder)
|
||||
|
||||
return upgradable_apps
|
||||
|
||||
|
||||
#
|
||||
# ############################### #
|
||||
# Small utilities #
|
||||
|
|
22
src/tools.py
22
src/tools.py
|
@ -20,7 +20,6 @@ import re
|
|||
import os
|
||||
import subprocess
|
||||
import time
|
||||
import shutil
|
||||
from importlib import import_module
|
||||
from packaging import version
|
||||
from typing import List
|
||||
|
@ -33,9 +32,7 @@ from moulinette.utils.filesystem import read_yaml, write_to_yaml, cp, mkdir, rm,
|
|||
from yunohost.app import (
|
||||
app_upgrade,
|
||||
app_list,
|
||||
_filter_and_hydrate_notifications,
|
||||
_extract_app,
|
||||
_parse_app_instance_name,
|
||||
_list_upgradable_apps,
|
||||
)
|
||||
from yunohost.app_catalog import (
|
||||
_initialize_apps_catalog_system,
|
||||
|
@ -370,22 +367,7 @@ def tools_update(target=None):
|
|||
except YunohostError as e:
|
||||
logger.error(str(e))
|
||||
|
||||
upgradable_apps = list(app_list(upgradable=True)["apps"])
|
||||
|
||||
# Retrieve next manifest notifications
|
||||
for app in upgradable_apps:
|
||||
absolute_app_name, _ = _parse_app_instance_name(app["id"])
|
||||
manifest, extracted_app_folder = _extract_app(absolute_app_name)
|
||||
current_version = version.parse(app["current_version"])
|
||||
app["notifications"] = {
|
||||
type_: _filter_and_hydrate_notifications(
|
||||
manifest["notifications"][type_], current_version, app["settings"]
|
||||
)
|
||||
for type_ in ("pre_upgrade", "post_upgrade")
|
||||
}
|
||||
# FIXME Post-upgrade notifs should be hydrated with post-upgrade app settings
|
||||
del app["settings"]
|
||||
shutil.rmtree(extracted_app_folder)
|
||||
upgradable_apps = _list_upgradable_apps()
|
||||
|
||||
if len(upgradable_apps) == 0 and len(upgradable_system_packages) == 0:
|
||||
logger.info(m18n.n("already_up_to_date"))
|
||||
|
|
Loading…
Add table
Reference in a new issue