diff --git a/app.py b/app.py index 026ce227b..c3df03a34 100644 --- a/app.py +++ b/app.py @@ -284,7 +284,7 @@ def app_upgrade(auth, app, url=None, file=None): installed = _is_installed(app_id) if not installed: raise MoulinetteError(errno.ENOPKG, - m18n.n('app_not_installed') % app_id) + m18n.n('app_not_installed', app_id)) if app_id in upgraded_apps: continue @@ -303,7 +303,7 @@ def app_upgrade(auth, app, url=None, file=None): manifest = _fetch_app_from_git(url) elif 'lastUpdate' not in new_app_dict or 'git' not in new_app_dict: raise MoulinetteError(errno.EDESTADDRREQ, - m18n.n('custom_app_url_required') % app_id) + m18n.n('custom_app_url_required', app_id)) elif (new_app_dict['lastUpdate'] > current_app_dict['lastUpdate']) \ or ('update_time' not in current_app_dict['settings'] \ and (new_app_dict['lastUpdate'] > current_app_dict['settings']['install_time'])) \ @@ -316,7 +316,7 @@ def app_upgrade(auth, app, url=None, file=None): # Check min version if 'min_version' in manifest and __version__ < manifest['min_version']: raise MoulinetteError(errno.EPERM, - m18n.n('app_recent_version_required') % app_id) + m18n.n('app_recent_version_required', app_id)) app_setting_path = apps_setting_path +'/'+ app_id @@ -360,7 +360,7 @@ def app_upgrade(auth, app, url=None, file=None): # So much win upgraded_apps.append(app_id) - msignals.display(m18n.n('app_upgraded') % app_id, 'success') + msignals.display(m18n.n('app_upgraded', app_id), 'success') if not upgraded_apps: raise MoulinetteError(errno.ENODATA, m18n.n('no_app_upgrade')) @@ -398,14 +398,14 @@ def app_install(auth, app, label=None, args=None): # Check min version if 'min_version' in manifest and __version__ < manifest['min_version']: raise MoulinetteError(errno.EPERM, - m18n.n('app_recent_version_required') % app_id) + m18n.n('app_recent_version_required', app_id)) # Check if app can be forked instance_number = _installed_instance_number(app_id, last=True) + 1 if instance_number > 1 : if 'multi_instance' not in manifest or not is_true(manifest['multi_instance']): raise MoulinetteError(errno.EEXIST, - m18n.n('app_already_installed') % app_id) + m18n.n('app_already_installed', app_id)) app_id_forked = app_id + '__' + str(instance_number) @@ -499,7 +499,7 @@ def app_remove(auth, app): from yunohost.hook import hook_exec, hook_remove if not _is_installed(app): - raise MoulinetteError(errno.EINVAL, m18n.n('app_not_installed') % app) + raise MoulinetteError(errno.EINVAL, m18n.n('app_not_installed', app)) app_setting_path = apps_setting_path + app @@ -519,7 +519,7 @@ def app_remove(auth, app): shutil.rmtree('/tmp/yunohost_remove') hook_remove(app) app_ssowatconf(auth) - msignals.display(m18n.n('app_removed') % app, 'success') + msignals.display(m18n.n('app_removed', app), 'success') def app_addaccess(auth, apps, users): @@ -544,7 +544,7 @@ def app_addaccess(auth, apps, users): for app in apps: if not _is_installed(app): raise MoulinetteError(errno.EINVAL, - m18n.n('app_not_installed') % app) + m18n.n('app_not_installed', app)) with open(apps_setting_path + app +'/settings.yml') as f: app_settings = yaml.load(f) @@ -598,7 +598,7 @@ def app_removeaccess(auth, apps, users): if not _is_installed(app): raise MoulinetteError(errno.EINVAL, - m18n.n('app_not_installed') % app) + m18n.n('app_not_installed', app)) with open(apps_setting_path + app +'/settings.yml') as f: app_settings = yaml.load(f) @@ -641,7 +641,7 @@ def app_clearaccess(auth, apps): for app in apps: if not _is_installed(app): raise MoulinetteError(errno.EINVAL, - m18n.n('app_not_installed') % app) + m18n.n('app_not_installed', app)) with open(apps_setting_path + app +'/settings.yml') as f: app_settings = yaml.load(f) @@ -667,7 +667,7 @@ def app_makedefault(auth, app, domain=None): from yunohost.domain import domain_list if not _is_installed(app): - raise MoulinetteError(errno.EINVAL, m18n.n('app_not_installed') % app) + raise MoulinetteError(errno.EINVAL, m18n.n('app_not_installed', app)) with open(apps_setting_path + app +'/settings.yml') as f: app_settings = yaml.load(f) @@ -754,10 +754,10 @@ def app_checkport(port): s.connect(("localhost", int(port))) s.close() except socket.error: - msignals.display(m18n.n('port_available') % int(port), 'success') + msignals.display(m18n.n('port_available', int(port)), 'success') else: raise MoulinetteError(errno.EINVAL, - m18n.n('port_unavailable') % int(port)) + m18n.n('port_unavailable', int(port))) def app_checkurl(auth, url, app=None): diff --git a/dyndns.py b/dyndns.py index ee794afb0..46b420644 100644 --- a/dyndns.py +++ b/dyndns.py @@ -78,7 +78,7 @@ def dyndns_subscribe(subscribe_host="dyndns.yunohost.org", domain=None, key=None try: error = json.loads(r.text)['error'] except: error = "Server error" raise MoulinetteError(errno.EPERM, - m18n.n('dyndns_registration_failed') % error) + m18n.n('dyndns_registration_failed', error)) msignals.display(m18n.n('dyndns_registered'), 'success') diff --git a/firewall.py b/firewall.py index eb1194e11..aa29be182 100644 --- a/firewall.py +++ b/firewall.py @@ -67,7 +67,7 @@ def firewall_allow(port=None, protocol='TCP', ipv6=False, no_upnp=False): if port not in firewall[ipv][protocol]: firewall[ipv][protocol].append(port) else: - msignals.display(m18n.n('port_already_opened') % port, 'warning') + msignals.display(m18n.n('port_already_opened', port), 'warning') with open('/etc/yunohost/firewall.yml', 'w') as f: yaml.safe_dump(firewall, f, default_flow_style=False) @@ -103,7 +103,7 @@ def firewall_disallow(port=None, protocol='TCP', ipv6=False): if port in firewall[ipv][protocol]: firewall[ipv][protocol].remove(port) else: - msignals.display(m18n.n('port_already_closed') % port, 'warning') + msignals.display(m18n.n('port_already_closed', port), 'warning') with open('/etc/yunohost/firewall.yml', 'w') as f: yaml.safe_dump(firewall, f, default_flow_style=False) diff --git a/hook.py b/hook.py index be1be258e..f49a4b732 100644 --- a/hook.py +++ b/hook.py @@ -141,8 +141,7 @@ def hook_exec(file, args=None): if arg['name'] in args: if 'choices' in arg and args[arg['name']] not in arg['choices']: raise MoulinetteError(errno.EINVAL, - m18n.n('hook_choice_invalid') - % args[arg['name']]) + m18n.n('hook_choice_invalid', args[arg['name']])) arg_list.append(args[arg['name']]) else: if os.isatty(1) and 'ask' in arg: @@ -172,8 +171,7 @@ def hook_exec(file, args=None): arg_list.append(arg['default']) else: raise MoulinetteError(errno.EINVAL, - m18n.n('hook_argument_missing') - % arg['name']) + m18n.n('hook_argument_missing', arg['name'])) file_path = "./" if "/" in file and file[0:2] != file_path: diff --git a/locales/en.json b/locales/en.json index f89bca680..ca81725f7 100644 --- a/locales/en.json +++ b/locales/en.json @@ -14,13 +14,13 @@ "appslist_removed" : "Apps list successfully removed", "app_unknown" : "Unknown app", "app_no_upgrade" : "No app to upgrade", - "app_not_installed" : "%s is not installed", - "custom_app_url_required" : "You must provide an URL to upgrade your custom app %s", - "app_recent_version_required" : "%s requires a more recent version of the moulinette", - "app_upgraded" : "%s successfully upgraded", + "app_not_installed" : "{:s} is not installed", + "custom_app_url_required" : "You must provide an URL to upgrade your custom app {:s}", + "app_recent_version_required" : "{:s} requires a more recent version of the moulinette", + "app_upgraded" : "{:s} successfully upgraded", "app_id_invalid" : "Invalid app id", - "app_already_installed" : "%s is already installed", - "app_removed" : "%s successfully removed", + "app_already_installed" : "{:s} is already installed", + "app_removed" : "{:s} successfully removed", "app_location_already_used" : "An app is already installed on this location", "app_location_install_failed" : "Unable to install the app on this location", "app_extraction_failed" : "Unable to extract installation files", @@ -53,7 +53,7 @@ "dyndns_key_generating" : "DNS key is being generated, it may take a while...", "dyndns_unavailable" : "Unavailable DynDNS subdomain", - "dyndns_registration_failed" : "Unable to register DynDNS domain: %s", + "dyndns_registration_failed" : "Unable to register DynDNS domain: {:s}", "dyndns_registered" : "DynDNS domain successfully registered", "dyndns_ip_update_failed" : "Unable to update IP address on DynDNS", "dyndns_ip_updated" : "IP address successfully updated on DynDNS", @@ -61,10 +61,10 @@ "dyndns_cron_remove_failed" : "Unable to remove DynDNS cron job", "dyndns_cron_removed" : "DynDNS cron job successfully removed", - "port_available" : "Port %d is available", - "port_unavailable" : "Port %d is not available", - "port_already_opened" : "Port %d is already opened", - "port_already_closed" : "Port %d is already closed", + "port_available" : "Port {:d} is available", + "port_unavailable" : "Port {:d} is not available", + "port_already_opened" : "Port {:d} is already opened", + "port_already_closed" : "Port {:d} is already closed", "iptables_unavailable" : "You cannot play with iptables here. You are either in a container or your kernel does not support it.", "upnp_dev_not_found" : "No uPnP device found", "upnp_port_open_failed" : "Unable to open uPnP ports", @@ -72,11 +72,11 @@ "upnp_disabled" : "uPnP successfully disabled", "firewall_reloaded" : "Firewall successfully reloaded", - "hook_choice_invalid" : "Invalid choice '%s'", - "hook_argument_missing" : "Missing argument '%s'", + "hook_choice_invalid" : "Invalid choice '{:s}'", + "hook_argument_missing" : "Missing argument '{:s}'", "mountpoint_unknown" : "Unknown mountpoint", - "unit_unknown" : "Unknown unit '%s'", + "unit_unknown" : "Unknown unit '{:s}'", "monitor_period_invalid" : "Invalid time period", "monitor_stats_no_update" : "No monitoring statistics to update", "monitor_stats_file_not_found" : "Statistics file not found", @@ -86,24 +86,24 @@ "monitor_not_enabled" : "Server monitoring is not enabled", "monitor_glances_con_failed" : "Unable to connect to Glances server", - "service_unknown" : "Unknown service '%s'", - "service_add_failed" : "Unable to add service '%s'", + "service_unknown" : "Unknown service '{:s}'", + "service_add_failed" : "Unable to add service '{:s}'", "service_added" : "Service successfully added", - "service_remove_failed" : "Unable to remove service '%s'", + "service_remove_failed" : "Unable to remove service '{:s}'", "service_removed" : "Service successfully removed", - "service_start_failed" : "Unable to start service '%s'", - "service_already_started" : "Service '%s' is already started", - "service_started" : "Service '%s' successfully started", - "service_stop_failed" : "Unable to stop service '%s'", - "service_already_stopped" : "Service '%s' is already stopped", - "service_stopped" : "Service '%s' successfully stopped", - "service_enable_failed" : "Unable to enable service '%s'", - "service_enabled" : "Service '%s' successfully enabled", - "service_disable_failed" : "Unable to disable service '%s'", - "service_disabled" : "Service '%s' successfully disabled", - "service_status_failed" : "Unable to determine status of service '%s'", - "service_no_log" : "No log to display for service '%s'", - "service_cmd_exec_failed" : "Unable to execute command '%s'", + "service_start_failed" : "Unable to start service '{:s}'", + "service_already_started" : "Service '{:s}' is already started", + "service_started" : "Service '{:s}' successfully started", + "service_stop_failed" : "Unable to stop service '{:s}'", + "service_already_stopped" : "Service '{:s}' is already stopped", + "service_stopped" : "Service '{:s}' successfully stopped", + "service_enable_failed" : "Unable to enable service '{:s}'", + "service_enabled" : "Service '{:s}' successfully enabled", + "service_disable_failed" : "Unable to disable service '{:s}'", + "service_disabled" : "Service '{:s}' successfully disabled", + "service_status_failed" : "Unable to determine status of service '{:s}'", + "service_no_log" : "No log to display for service '{:s}'", + "service_cmd_exec_failed" : "Unable to execute command '{:s}'", "ldap_initialized" : "LDAP successfully initialized", "password_too_short" : "Password is too short", @@ -118,15 +118,15 @@ "updating_apt_cache" : "Updating the lists of available packages...", "update_cache_failed" : "Unable to update APT cache", "packages_no_upgrade" : "There is no package to upgrade", - "packages_upgrade_critical_later" : "Critical packages (%s) will be upgraded later", + "packages_upgrade_critical_later" : "Critical packages ({:s}) will be upgraded later", "upgrading_packages" : "Upgrading packages...", "packages_upgrade_failed" : "Unable to upgrade all packages", "system_upgraded" : "System successfully upgraded", - "field_invalid" : "Invalid field '%s'", - "mail_domain_unknown" : "Unknown mail address domain '%s'", - "mail_alias_remove_failed" : "Unable to remove mail alias '%s'", - "mail_forward_remove_failed" : "Unable to remove mail forward '%s'", + "field_invalid" : "Invalid field '{:s}'", + "mail_domain_unknown" : "Unknown mail address domain '{:s}'", + "mail_alias_remove_failed" : "Unable to remove mail alias '{:s}'", + "mail_forward_remove_failed" : "Unable to remove mail forward '{:s}'", "user_unknown" : "Unknown user", "user_creation_failed" : "Unable to create user", "user_created" : "User successfully created", diff --git a/locales/fr.json b/locales/fr.json index 89932743b..756430826 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -14,13 +14,13 @@ "appslist_removed" : "Liste d'applications supprimée avec succès", "app_unknown" : "Application inconnue", "app_no_upgrade" : "Aucune application à mettre à jour", - "app_not_installed" : "%s n'est pas installé", - "custom_app_url_required" : "Vous devez spécifier une URL pour mettre à jour votre application locale %s", - "app_recent_version_required" : "%s nécessite une version plus récente de la moulinette", - "app_upgraded" : "%s mis à jour avec succès", + "app_not_installed" : "{:s} n'est pas installé", + "custom_app_url_required" : "Vous devez spécifier une URL pour mettre à jour votre application locale {:s}", + "app_recent_version_required" : "{:s} nécessite une version plus récente de la moulinette", + "app_upgraded" : "{:s} mis à jour avec succès", "app_id_invalid" : "Id d'application incorrect", - "app_already_installed" : "%s est déjà installé", - "app_removed" : "%s supprimé avec succès", + "app_already_installed" : "{:s} est déjà installé", + "app_removed" : "{:s} supprimé avec succès", "app_location_already_used" : "Une application est déjà installé à cet emplacement", "app_location_install_failed" : "Impossible d'installer l'application à cet emplacement", "app_extraction_failed" : "Impossible d'extraire les fichiers d'installation", @@ -53,7 +53,7 @@ "dyndns_key_generating" : "La clé DNS est en cours de génération, cela peut prendre du temps...", "dyndns_unavailable" : "Sous-domaine DynDNS indisponible", - "dyndns_registration_failed" : "Impossible d'enregistrer le domaine DynDNS : %s", + "dyndns_registration_failed" : "Impossible d'enregistrer le domaine DynDNS : {:s}", "dyndns_registered" : "Domaine DynDNS enregistré avec succès", "dyndns_ip_update_failed" : "Impossible de mettre à jour l'adresse IP sur le domaine DynDNS", "dyndns_ip_updated" : "Adresse IP mise à jour avec succès sur le domaine DynDNS", @@ -61,10 +61,10 @@ "dyndns_cron_remove_failed" : "Impossible d'enlever la tâche cron pour DynDNS", "dyndns_cron_removed" : "Tâche cron pour DynDNS enlevée avec succès", - "port_available" : "Le port %d est disponible", - "port_unavailable" : "Le port %d n'est pas disponible", - "port_already_opened" : "Le port %d est déjà ouvert", - "port_already_closed" : "Le port %d est déjà fermé", + "port_available" : "Le port {:d} est disponible", + "port_unavailable" : "Le port {:d} n'est pas disponible", + "port_already_opened" : "Le port {:d} est déjà ouvert", + "port_already_closed" : "Le port {:d} est déjà fermé", "iptables_unavailable" : "Vous ne pouvez pas faire joujou avec iptables ici. Vous êtes sûrement dans un conteneur, autrement votre noyau ne le supporte pas.", "upnp_dev_not_found" : "Aucun périphérique compatible uPnP trouvé", "upnp_port_open_failed" : "Impossible d'ouvrir les ports avec uPnP", @@ -72,11 +72,11 @@ "upnp_disabled" : "uPnP désactivé avec succès", "firewall_reloaded" : "Pare-feu rechargé avec succès", - "hook_choice_invalid" : "Choix incorrect : '%s'", - "hook_argument_missing" : "Argument manquant : '%s'", + "hook_choice_invalid" : "Choix incorrect : '{:s}'", + "hook_argument_missing" : "Argument manquant : '{:s}'", "mountpoint_unknown" : "Point de montage inconnu", - "unit_unknown" : "Unité '%s' inconnue", + "unit_unknown" : "Unité '{:s}' inconnue", "monitor_period_invalid" : "Période de temps incorrect", "monitor_stats_no_update" : "Aucune donnée de l'état du serveur à mettre à jour", "monitor_stats_file_not_found" : "Fichier de données de l'état du serveur introuvable", @@ -86,24 +86,24 @@ "monitor_not_enabled" : "Le suivi de l'état du serveur n'est pas activé", "monitor_glances_con_failed" : "Impossible de se connecter au serveur Glances", - "service_unknown" : "Service '%s' inconnu", - "service_add_failed" : "Impossible d'ajouter le service '%s'", + "service_unknown" : "Service '{:s}' inconnu", + "service_add_failed" : "Impossible d'ajouter le service '{:s}'", "service_added" : "Service ajouté avec succès", - "service_remove_failed" : "Impossible d'enlever le service '%s'", + "service_remove_failed" : "Impossible d'enlever le service '{:s}'", "service_removed" : "Service enlevé avec succès", - "service_start_failed" : "Impossible de démarrer le service '%s'", - "service_already_started" : "Le service '%s' est déjà démarré", - "service_started" : "Service '%s' démarré avec succès", - "service_stop_failed" : "Impossible d'arrêter le service '%s'", - "service_already_stopped" : "Le service '%s' est déjà arrêté", - "service_stopped" : "Service '%s' arrêté avec succès", - "service_enable_failed" : "Impossible d'activer le service '%s'", - "service_enabled" : "Service '%s' activé avec succès", - "service_disable_failed" : "Impossible de désactiver le service '%s'", - "service_disabled" : "Service '%s' désactivé avec succès", - "service_status_failed" : "Impossible de déterminer le statut du service '%s'", - "service_no_log" : "Aucun journal a afficher pour le service '%s'", - "service_cmd_exec_failed" : "Impossible d'exécuter la commande '%s'", + "service_start_failed" : "Impossible de démarrer le service '{:s}'", + "service_already_started" : "Le service '{:s}' est déjà démarré", + "service_started" : "Service '{:s}' démarré avec succès", + "service_stop_failed" : "Impossible d'arrêter le service '{:s}'", + "service_already_stopped" : "Le service '{:s}' est déjà arrêté", + "service_stopped" : "Service '{:s}' arrêté avec succès", + "service_enable_failed" : "Impossible d'activer le service '{:s}'", + "service_enabled" : "Service '{:s}' activé avec succès", + "service_disable_failed" : "Impossible de désactiver le service '{:s}'", + "service_disabled" : "Service '{:s}' désactivé avec succès", + "service_status_failed" : "Impossible de déterminer le statut du service '{:s}'", + "service_no_log" : "Aucun journal a afficher pour le service '{:s}'", + "service_cmd_exec_failed" : "Impossible d'exécuter la commande '{:s}'", "ldap_initialized" : "Répertoire LDAP initialisé avec succès", "password_too_short" : "Le mot de passe est trop court", @@ -118,15 +118,15 @@ "updating_apt_cache" : "Mise à jour de la liste des paquets disponibles...", "update_cache_failed" : "Impossible de mettre à jour le cache de l'APT", "packages_no_upgrade" : "Il n'y a aucun paquet à mettre à jour", - "packages_upgrade_critical_later" : "Les paquets critiques (%s) seront mis à jour plus tard", + "packages_upgrade_critical_later" : "Les paquets critiques ({:s}) seront mis à jour plus tard", "upgrading_packages" : "Mise à jour des paquets...", "packages_upgrade_failed" : "Impossible de mettre à jour tous les paquets", "system_upgraded" : "Système mis à jour avec succès", - "field_invalid" : "Champ incorrect : %s", - "mail_domain_unknown" : "Domaine '%s' de l'adresse mail inconnu", - "mail_alias_remove_failed" : "Impossible de supprimer l'adresse mail supplémentaire '%s'", - "mail_forward_remove_failed" : "Impossible de supprimer l'adresse mail de transfert '%s'", + "field_invalid" : "Champ incorrect : {:s}", + "mail_domain_unknown" : "Domaine '{:s}' de l'adresse mail inconnu", + "mail_alias_remove_failed" : "Impossible de supprimer l'adresse mail supplémentaire '{:s}'", + "mail_forward_remove_failed" : "Impossible de supprimer l'adresse mail de transfert '{:s}'", "user_unknown" : "Utilisateur inconnu", "user_creation_failed" : "Impossible de créer l'utilisateur", "user_created" : "Utilisateur créé avec succès", diff --git a/monitor.py b/monitor.py index 0ab48bbcd..8c8d87ee8 100644 --- a/monitor.py +++ b/monitor.py @@ -132,7 +132,7 @@ def monitor_disk(units=None, mountpoint=None, human_readable=False): for dname in devices_names: _set(dname, 'not-available') else: - raise MoulinetteError(errno.EINVAL, m18n.n('unit_unknown') % u) + raise MoulinetteError(errno.EINVAL, m18n.n('unit_unknown', u)) if result_dname is not None: return result[result_dname] @@ -204,7 +204,7 @@ def monitor_network(units=None, human_readable=False): 'gateway': gateway } else: - raise MoulinetteError(errno.EINVAL, m18n.n('unit_unknown') % u) + raise MoulinetteError(errno.EINVAL, m18n.n('unit_unknown', u)) if len(units) == 1: return result[units[0]] @@ -254,7 +254,7 @@ def monitor_system(units=None, human_readable=False): elif u == 'infos': result[u] = json.loads(glances.getSystem()) else: - raise MoulinetteError(errno.EINVAL, m18n.n('unit_unknown') % u) + raise MoulinetteError(errno.EINVAL, m18n.n('unit_unknown', u)) if len(units) == 1 and type(result[units[0]]) is not str: return result[units[0]] diff --git a/service.py b/service.py index 5e1920c25..990ace97e 100644 --- a/service.py +++ b/service.py @@ -59,7 +59,7 @@ def service_add(name, status=None, log=None, runlevel=None): try: _save_services(services) except: - raise MoulinetteError(errno.EIO, m18n.n('service_add_failed') % name) + raise MoulinetteError(errno.EIO, m18n.n('service_add_failed', name)) msignals.display(m18n.n('service_added'), 'success') @@ -77,12 +77,12 @@ def service_remove(name): try: del services[name] except KeyError: - raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown') % name) + raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown', name)) try: _save_services(services) except: - raise MoulinetteError(errno.EIO, m18n.n('service_remove_failed') % name) + raise MoulinetteError(errno.EIO, m18n.n('service_remove_failed', name)) msignals.display(m18n.n('service_removed'), 'success') @@ -99,12 +99,12 @@ def service_start(names): names = [names] for name in names: if _run_service_command('start', name): - msignals.display(m18n.n('service_started') % name, 'success') + msignals.display(m18n.n('service_started', name), 'success') else: if service_status(name)['status'] != 'running': raise MoulinetteError(errno.EPERM, - m18n.n('service_start_failed') % name) - msignals.display(m18n.n('service_already_started') % name) + m18n.n('service_start_failed', name)) + msignals.display(m18n.n('service_already_started', name)) def service_stop(names): @@ -119,12 +119,12 @@ def service_stop(names): names = [names] for name in names: if _run_service_command('stop', name): - msignals.display(m18n.n('service_stopped') % name, 'success') + msignals.display(m18n.n('service_stopped', name), 'success') else: if service_status(name)['status'] != 'inactive': raise MoulinetteError(errno.EPERM, - m18n.n('service_stop_failed') % name) - msignals.display(m18n.n('service_already_stopped') % name) + m18n.n('service_stop_failed', name)) + msignals.display(m18n.n('service_already_stopped', name)) def service_enable(names): @@ -139,10 +139,10 @@ def service_enable(names): names = [names] for name in names: if _run_service_command('enable', name): - msignals.display(m18n.n('service_enabled') % name, 'success') + msignals.display(m18n.n('service_enabled', name), 'success') else: raise MoulinetteError(errno.EPERM, - m18n.n('service_enable_failed') % name) + m18n.n('service_enable_failed', name)) def service_disable(names): @@ -157,10 +157,10 @@ def service_disable(names): names = [names] for name in names: if _run_service_command('disable', name): - msignals.display(m18n.n('service_disabled') % name, 'success') + msignals.display(m18n.n('service_disabled', name), 'success') else: raise MoulinetteError(errno.EPERM, - m18n.n('service_disable_failed') % name) + m18n.n('service_disable_failed', name)) def service_status(names=[]): @@ -184,7 +184,7 @@ def service_status(names=[]): for name in names: if check_names and name not in services.keys(): raise MoulinetteError(errno.EINVAL, - m18n.n('service_unknown') % name) + m18n.n('service_unknown', name)) status = None if services[name]['status'] == 'service': @@ -206,7 +206,7 @@ def service_status(names=[]): result[name]['status'] = 'inactive' else: # TODO: Log output? - msignals.display(m18n.n('service_status_failed') % name, + msignals.display(m18n.n('service_status_failed', name), 'warning') else: result[name]['status'] = 'running' @@ -237,7 +237,7 @@ def service_log(name, number=50): services = _get_services() if name not in services.keys(): - raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown') % name) + raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown', name)) if 'log' in services[name]: log_list = services[name]['log'] @@ -252,7 +252,7 @@ def service_log(name, number=50): else: result[log_path] = _tail(log_path, int(number)) else: - raise MoulinetteError(errno.EPERM, m18n.n('service_no_log') % name) + raise MoulinetteError(errno.EPERM, m18n.n('service_no_log', name)) return result @@ -267,7 +267,7 @@ def _run_service_command(action, service): """ if service not in _get_services().keys(): - raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown') % name) + raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown', name)) cmd = None if action in ['start', 'stop']: @@ -282,7 +282,7 @@ def _run_service_command(action, service): ret = subprocess.check_output(cmd.split(), stderr=subprocess.STDOUT) except subprocess.CalledProcessError as e: # TODO: Log output? - msignals.display(m18n.n('service_cmd_exec_failed') % ' '.join(e.cmd), + msignals.display(m18n.n('service_cmd_exec_failed', ' '.join(e.cmd)), 'warning') return False return True diff --git a/tools.py b/tools.py index 64aa6ae6d..ed15423d6 100644 --- a/tools.py +++ b/tools.py @@ -400,8 +400,8 @@ def tools_upgrade(ignore_apps=False, ignore_packages=False): pkg.mark_keep() # ... and set a hourly cron up to upgrade critical packages if critical_upgrades: - msignals.display(m18n.n('packages_upgrade_critical_later') - % ', '.join(critical_upgrades)) + msignals.display(m18n.n('packages_upgrade_critical_later', + ', '.join(critical_upgrades))) with open('/etc/cron.d/yunohost-upgrade', 'w+') as f: f.write('00 * * * * root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin apt-get install %s -y && rm -f /etc/cron.d/yunohost-upgrade' % ' '.join(critical_upgrades)) diff --git a/user.py b/user.py index 71a76f9ea..946caa1f3 100644 --- a/user.py +++ b/user.py @@ -66,7 +66,7 @@ def user_list(auth, fields=None, filter=None, limit=None, offset=None): attrs.append(attr) else: raise MoulinetteError(errno.EINVAL, - m18n.n('field_invalid') % attr) + m18n.n('field_invalid', attr)) else: attrs = [ 'uid', 'cn', 'mail' ] @@ -110,8 +110,8 @@ def user_create(auth, username, firstname, lastname, mail, password): if mail[mail.find('@')+1:] not in domain_list(auth)['domains']: raise MoulinetteError(errno.EINVAL, - m18n.n('mail_domain_unknown') - % mail[mail.find('@')+1:]) + m18n.n('mail_domain_unknown', + mail[mail.find('@')+1:])) # Get random UID/GID uid_check = gid_check = 0 @@ -267,8 +267,8 @@ def user_update(auth, username, firstname=None, lastname=None, mail=None, change auth.validate_uniqueness({ 'mail': mail }) if mail[mail.find('@')+1:] not in domains: raise MoulinetteError(errno.EINVAL, - m18n.n('mail_domain_unknown') - % mail[mail.find('@')+1:]) + m18n.n('mail_domain_unknown', + mail[mail.find('@')+1:])) del user['mail'][0] new_attr_dict['mail'] = [mail] + user['mail'] @@ -279,8 +279,8 @@ def user_update(auth, username, firstname=None, lastname=None, mail=None, change auth.validate_uniqueness({ 'mail': mail }) if mail[mail.find('@')+1:] not in domains: raise MoulinetteError(errno.EINVAL, - m18n.n('mail_domain_unknown') - % mail[mail.find('@')+1:]) + m18n.n('mail_domain_unknown', + mail[mail.find('@')+1:])) user['mail'].append(mail) new_attr_dict['mail'] = user['mail'] @@ -292,7 +292,7 @@ def user_update(auth, username, firstname=None, lastname=None, mail=None, change user['mail'].remove(mail) else: raise MoulinetteError(errno.EINVAL, - m18n.n('mail_alias_remove_failed') % mail) + m18n.n('mail_alias_remove_failed', mail)) new_attr_dict['mail'] = user['mail'] if add_mailforward: @@ -312,7 +312,7 @@ def user_update(auth, username, firstname=None, lastname=None, mail=None, change user['maildrop'].remove(mail) else: raise MoulinetteError(errno.EINVAL, - m18n.n('mail_forward_remove_failed') % mail) + m18n.n('mail_forward_remove_failed', mail)) new_attr_dict['maildrop'] = user['maildrop'] if auth.update('uid=%s,ou=users' % username, new_attr_dict):