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
|
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 #
|
# Small utilities #
|
||||||
|
|
22
src/tools.py
22
src/tools.py
|
@ -20,7 +20,6 @@ import re
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
import time
|
||||||
import shutil
|
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
from packaging import version
|
from packaging import version
|
||||||
from typing import List
|
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 (
|
from yunohost.app import (
|
||||||
app_upgrade,
|
app_upgrade,
|
||||||
app_list,
|
app_list,
|
||||||
_filter_and_hydrate_notifications,
|
_list_upgradable_apps,
|
||||||
_extract_app,
|
|
||||||
_parse_app_instance_name,
|
|
||||||
)
|
)
|
||||||
from yunohost.app_catalog import (
|
from yunohost.app_catalog import (
|
||||||
_initialize_apps_catalog_system,
|
_initialize_apps_catalog_system,
|
||||||
|
@ -370,22 +367,7 @@ def tools_update(target=None):
|
||||||
except YunohostError as e:
|
except YunohostError as e:
|
||||||
logger.error(str(e))
|
logger.error(str(e))
|
||||||
|
|
||||||
upgradable_apps = list(app_list(upgradable=True)["apps"])
|
upgradable_apps = _list_upgradable_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)
|
|
||||||
|
|
||||||
if len(upgradable_apps) == 0 and len(upgradable_system_packages) == 0:
|
if len(upgradable_apps) == 0 and len(upgradable_system_packages) == 0:
|
||||||
logger.info(m18n.n("already_up_to_date"))
|
logger.info(m18n.n("already_up_to_date"))
|
||||||
|
|
Loading…
Add table
Reference in a new issue