mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Check there's actually some apps to update when using tools upgrade --apps
This commit is contained in:
parent
a192bdd31a
commit
4f3eaa5e23
1 changed files with 30 additions and 10 deletions
|
@ -530,16 +530,7 @@ def tools_update(apps=False, system=False):
|
||||||
# FIXME : silent exception !?
|
# FIXME : silent exception !?
|
||||||
pass
|
pass
|
||||||
|
|
||||||
app_list_installed = os.listdir(APPS_SETTING_PATH)
|
upgradable_apps = list(_list_upgradable_apps())
|
||||||
for app_id in app_list_installed:
|
|
||||||
|
|
||||||
app_dict = app_info(app_id, raw=True)
|
|
||||||
|
|
||||||
if app_dict["upgradable"] == "yes":
|
|
||||||
upgradable_apps.append({
|
|
||||||
'id': app_id,
|
|
||||||
'label': app_dict['settings']['label']
|
|
||||||
})
|
|
||||||
|
|
||||||
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'))
|
||||||
|
@ -547,6 +538,20 @@ def tools_update(apps=False, system=False):
|
||||||
return {'system': upgradable_system_packages, 'apps': upgradable_apps}
|
return {'system': upgradable_system_packages, 'apps': upgradable_apps}
|
||||||
|
|
||||||
|
|
||||||
|
def _list_upgradable_apps():
|
||||||
|
|
||||||
|
app_list_installed = os.listdir(APPS_SETTING_PATH)
|
||||||
|
for app_id in app_list_installed:
|
||||||
|
|
||||||
|
app_dict = app_info(app_id, raw=True)
|
||||||
|
|
||||||
|
if app_dict["upgradable"] == "yes":
|
||||||
|
yield {
|
||||||
|
'id': app_id,
|
||||||
|
'label': app_dict['settings']['label']
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# TODO : move this to utils/packages.py ?
|
# TODO : move this to utils/packages.py ?
|
||||||
def _list_upgradable_apt_packages():
|
def _list_upgradable_apt_packages():
|
||||||
|
|
||||||
|
@ -610,12 +615,27 @@ def tools_upgrade(operation_logger, auth, apps=None, system=False):
|
||||||
#
|
#
|
||||||
|
|
||||||
if apps is not None:
|
if apps is not None:
|
||||||
|
|
||||||
|
# Make sure there's actually something to upgrade
|
||||||
|
|
||||||
|
upgradable_apps = [app["id"] for app in _list_upgradable_apps()]
|
||||||
|
|
||||||
|
if not upgradable_apps:
|
||||||
|
logger.info(m18n.n("app_no_upgrade"))
|
||||||
|
return
|
||||||
|
elif len(apps) and all(app not in upgradable_apps for app in apps):
|
||||||
|
logger.info(m18n.n("apps_already_up_to_date"))
|
||||||
|
return
|
||||||
|
|
||||||
|
# Actually start the upgrades
|
||||||
|
|
||||||
try:
|
try:
|
||||||
app_upgrade(auth, app=apps)
|
app_upgrade(auth, app=apps)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning('unable to upgrade apps: %s' % str(e))
|
logger.warning('unable to upgrade apps: %s' % str(e))
|
||||||
logger.error(m18n.n('app_upgrade_some_app_failed'))
|
logger.error(m18n.n('app_upgrade_some_app_failed'))
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
#
|
#
|
||||||
# System
|
# System
|
||||||
|
|
Loading…
Add table
Reference in a new issue