diff --git a/src/yunohost/app.py b/src/yunohost/app.py index 296f21361..4637b36e3 100644 --- a/src/yunohost/app.py +++ b/src/yunohost/app.py @@ -212,7 +212,7 @@ def app_removelist(operation_logger, name): # Make sure we know this appslist if name not in appslists.keys(): - raise MoulinetteError(errno.ENOENT, m18n.n('appslist_unknown', appslist=name)) + raise MoulinetteError('appslist_unknown', appslist=name) operation_logger.start() @@ -459,7 +459,7 @@ def app_change_url(operation_logger, auth, app, domain, path): m18n.n('app_not_installed', app=app)) if not os.path.exists(os.path.join(APPS_SETTING_PATH, app, "scripts", "change_url")): - raise MoulinetteError(errno.EINVAL, m18n.n("app_change_no_change_url_script", app_name=app)) + raise MoulinetteError("app_change_no_change_url_script", app_name=app) old_domain = app_setting(app, "domain") old_path = app_setting(app, "path") @@ -471,7 +471,7 @@ def app_change_url(operation_logger, auth, app, domain, path): path = normalize_url_path(path) if (domain, path) == (old_domain, old_path): - raise MoulinetteError(errno.EINVAL, m18n.n("app_change_url_identical_domains", domain=domain, path=path)) + raise MoulinetteError("app_change_url_identical_domains", domain=domain, path=path) # WARNING / FIXME : checkurl will modify the settings # (this is a non intuitive behavior that should be changed) @@ -547,7 +547,7 @@ def app_change_url(operation_logger, auth, app, domain, path): stderr=subprocess.STDOUT, shell=True).rstrip() - raise MoulinetteError(errno.EINVAL, m18n.n("app_change_url_failed_nginx_reload", nginx_errors=nginx_errors)) + raise MoulinetteError("app_change_url_failed_nginx_reload", nginx_errors=nginx_errors) logger.success(m18n.n("app_change_url_success", app=app, domain=domain, path=path)) @@ -573,7 +573,7 @@ def app_upgrade(auth, app=[], url=None, file=None): try: app_list() except MoulinetteError: - raise MoulinetteError(errno.ENODATA, m18n.n('app_no_upgrade')) + raise MoulinetteError('app_no_upgrade') upgraded_apps = [] @@ -684,7 +684,7 @@ def app_upgrade(auth, app=[], url=None, file=None): operation_logger.success() if not upgraded_apps: - raise MoulinetteError(errno.ENODATA, m18n.n('app_no_upgrade')) + raise MoulinetteError('app_no_upgrade') app_ssowatconf(auth) @@ -730,12 +730,12 @@ def app_install(operation_logger, auth, app, label=None, args=None, no_remove_on elif os.path.exists(app): manifest, extracted_app_folder = _extract_app_from_file(app) else: - raise MoulinetteError(errno.EINVAL, m18n.n('app_unknown')) + raise MoulinetteError('app_unknown') status['remote'] = manifest.get('remote', {}) # Check ID if 'id' not in manifest or '__' in manifest['id']: - raise MoulinetteError(errno.EINVAL, m18n.n('app_id_invalid')) + raise MoulinetteError('app_id_invalid') app_id = manifest['id'] @@ -1139,7 +1139,7 @@ def app_makedefault(operation_logger, auth, app, domain=None): domain = app_domain operation_logger.related_to.append(('domain',domain)) elif domain not in domain_list(auth)['domains']: - raise MoulinetteError(errno.EINVAL, m18n.n('domain_unknown')) + raise MoulinetteError('domain_unknown') operation_logger.start() if '/' in app_map(raw=True)[domain]: @@ -1262,7 +1262,7 @@ def app_register_url(auth, app, domain, path): app_label=app_label, )) - raise MoulinetteError(errno.EINVAL, m18n.n('app_location_unavailable', apps="\n".join(apps))) + raise MoulinetteError('app_location_unavailable', apps="\n".join(apps)) app_setting(app, 'domain', value=domain) app_setting(app, 'path', value=path) @@ -1300,7 +1300,7 @@ def app_checkurl(auth, url, app=None): apps_map = app_map(raw=True) if domain not in domain_list(auth)['domains']: - raise MoulinetteError(errno.EINVAL, m18n.n('domain_unknown')) + raise MoulinetteError('domain_unknown') if domain in apps_map: # Loop through apps @@ -1349,10 +1349,10 @@ def app_initdb(user, password=None, db=None, sql=None): mysql_root_pwd = open('/etc/yunohost/mysql').read().rstrip() mysql_command = 'mysql -u root -p%s -e "CREATE DATABASE %s ; GRANT ALL PRIVILEGES ON %s.* TO \'%s\'@localhost IDENTIFIED BY \'%s\';"' % (mysql_root_pwd, db, db, user, password) if os.system(mysql_command) != 0: - raise MoulinetteError(errno.EIO, m18n.n('mysql_db_creation_failed')) + raise MoulinetteError('mysql_db_creation_failed') if sql is not None: if os.system('mysql -u %s -p%s %s < %s' % (user, password, db, sql)) != 0: - raise MoulinetteError(errno.EIO, m18n.n('mysql_db_init_failed')) + raise MoulinetteError('mysql_db_init_failed') if return_pwd: return password @@ -1738,7 +1738,7 @@ def _get_app_status(app_id, format_date=False): """ app_setting_path = APPS_SETTING_PATH + app_id if not os.path.isdir(app_setting_path): - raise MoulinetteError(errno.EINVAL, m18n.n('app_unknown')) + raise MoulinetteError('app_unknown') status = {} try: @@ -1803,7 +1803,7 @@ def _extract_app_from_file(path, remove=False): extract_result = 1 if extract_result != 0: - raise MoulinetteError(errno.EINVAL, m18n.n('app_extraction_failed')) + raise MoulinetteError('app_extraction_failed') try: extracted_app_folder = APP_TMP_FOLDER @@ -1814,7 +1814,7 @@ def _extract_app_from_file(path, remove=False): manifest = json.loads(str(json_manifest.read())) manifest['lastUpdate'] = int(time.time()) except IOError: - raise MoulinetteError(errno.EIO, m18n.n('app_install_files_invalid')) + raise MoulinetteError('app_install_files_invalid') except ValueError as e: raise MoulinetteError(errno.EINVAL, m18n.n('app_manifest_invalid', error=e.strerror)) @@ -1933,7 +1933,7 @@ def _fetch_app_from_git(app): app_info['manifest']['lastUpdate'] = app_info['lastUpdate'] manifest = app_info['manifest'] else: - raise MoulinetteError(errno.EINVAL, m18n.n('app_unknown')) + raise MoulinetteError('app_unknown') if 'git' not in app_info: raise MoulinetteError(errno.EINVAL, @@ -2312,7 +2312,7 @@ def _parse_action_args_in_yunohost_format(args, action_args, auth=None): app_label=app_label, )) - raise MoulinetteError(errno.EINVAL, m18n.n('app_location_unavailable', apps="\n".join(apps))) + raise MoulinetteError('app_location_unavailable', apps="\n".join(apps)) # (We save this normalized path so that the install script have a # standard path format to deal with no matter what the user inputted) diff --git a/src/yunohost/backup.py b/src/yunohost/backup.py index 33fbccb7f..d8197fed4 100644 --- a/src/yunohost/backup.py +++ b/src/yunohost/backup.py @@ -507,7 +507,7 @@ class BackupManager(): if not successfull_apps and not successfull_system: filesystem.rm(self.work_dir, True, True) - raise MoulinetteError(errno.EINVAL, m18n.n('backup_nothings_done')) + raise MoulinetteError('backup_nothings_done') # Add unlisted files from backup tmp dir self._add_to_list_to_backup('backup.csv') @@ -857,7 +857,7 @@ class RestoreManager(): self.info["system"] = self.info["hooks"] except IOError: logger.debug("unable to load '%s'", info_file, exc_info=1) - raise MoulinetteError(errno.EIO, m18n.n('backup_invalid_archive')) + raise MoulinetteError('backup_invalid_archive') else: logger.debug("restoring from backup '%s' created on %s", self.name, datetime.utcfromtimestamp(self.info['created_at'])) @@ -1442,7 +1442,7 @@ class BackupMethod(object): @property def method_name(self): """Return the string name of a BackupMethod (eg "tar" or "copy")""" - raise MoulinetteError(errno.EINVAL, m18n.n('backup_abstract_method')) + raise MoulinetteError('backup_abstract_method') @property def name(self): @@ -2132,7 +2132,7 @@ def backup_restore(auth, name, system=[], apps=[], force=False): if i == 'y' or i == 'Y': force = True if not force: - raise MoulinetteError(errno.EEXIST, m18n.n('restore_failed')) + raise MoulinetteError('restore_failed') # TODO Partial app restore could not work if ldap is not restored before # TODO repair mysql if broken and it's a complete restore @@ -2159,7 +2159,7 @@ def backup_restore(auth, name, system=[], apps=[], force=False): if restore_manager.success: logger.success(m18n.n('restore_complete')) else: - raise MoulinetteError(errno.EINVAL, m18n.n('restore_nothings_done')) + raise MoulinetteError('restore_nothings_done') return restore_manager.targets.results @@ -2240,7 +2240,7 @@ def backup_info(name, with_details=False, human_readable=False): except KeyError: logger.debug("unable to retrieve '%s' inside the archive", info_file, exc_info=1) - raise MoulinetteError(errno.EIO, m18n.n('backup_invalid_archive')) + raise MoulinetteError('backup_invalid_archive') else: shutil.move(os.path.join(info_dir, 'info.json'), info_file) finally: @@ -2253,7 +2253,7 @@ def backup_info(name, with_details=False, human_readable=False): info = json.load(f) except: logger.debug("unable to load '%s'", info_file, exc_info=1) - raise MoulinetteError(errno.EIO, m18n.n('backup_invalid_archive')) + raise MoulinetteError('backup_invalid_archive') # Retrieve backup size size = info.get('size', 0) diff --git a/src/yunohost/certificate.py b/src/yunohost/certificate.py index 5c3bf8c9e..59b7a72c3 100644 --- a/src/yunohost/certificate.py +++ b/src/yunohost/certificate.py @@ -581,7 +581,7 @@ def _fetch_and_enable_new_certificate(domain, staging=False, no_checks=False): try: intermediate_certificate = requests.get(INTERMEDIATE_CERTIFICATE_URL, timeout=30).text except requests.exceptions.Timeout as e: - raise MoulinetteError(errno.EINVAL, m18n.n('certmanager_couldnt_fetch_intermediate_cert')) + raise MoulinetteError('certmanager_couldnt_fetch_intermediate_cert') # Now save the key and signed certificate logger.debug("Saving the key and signed certificate...") diff --git a/src/yunohost/data_migrations/0002_migrate_to_tsig_sha256.py b/src/yunohost/data_migrations/0002_migrate_to_tsig_sha256.py index 5cbc4494f..aad6771be 100644 --- a/src/yunohost/data_migrations/0002_migrate_to_tsig_sha256.py +++ b/src/yunohost/data_migrations/0002_migrate_to_tsig_sha256.py @@ -52,7 +52,7 @@ class MyMigration(Migration): 'public_key_sha512': base64.b64encode(public_key_sha512), }, timeout=30) except requests.ConnectionError: - raise MoulinetteError(errno.ENETUNREACH, m18n.n('no_internet_connection')) + raise MoulinetteError('no_internet_connection') if r.status_code != 201: try: diff --git a/src/yunohost/data_migrations/0003_migrate_to_stretch.py b/src/yunohost/data_migrations/0003_migrate_to_stretch.py index 26f91ae0b..474a26db5 100644 --- a/src/yunohost/data_migrations/0003_migrate_to_stretch.py +++ b/src/yunohost/data_migrations/0003_migrate_to_stretch.py @@ -30,7 +30,7 @@ class MyMigration(Migration): def backward(self): - raise MoulinetteError(m18n.n("migration_0003_backward_impossible")) + raise MoulinetteError("migration_0003_backward_impossible") def migrate(self): @@ -57,7 +57,7 @@ class MyMigration(Migration): self.apt_dist_upgrade(conf_flags=["old", "miss", "def"]) _run_service_command("start", "mysql") if self.debian_major_version() == 8: - raise MoulinetteError(m18n.n("migration_0003_still_on_jessie_after_main_upgrade", log=self.logfile)) + raise MoulinetteError("migration_0003_still_on_jessie_after_main_upgrade", log=self.logfile) # Specific upgrade for fail2ban... logger.info(m18n.n("migration_0003_fail2ban_upgrade")) @@ -107,11 +107,11 @@ class MyMigration(Migration): # would still be in 2.x... if not self.debian_major_version() == 8 \ and not self.yunohost_major_version() == 2: - raise MoulinetteError(m18n.n("migration_0003_not_jessie")) + raise MoulinetteError("migration_0003_not_jessie") # Have > 1 Go free space on /var/ ? if free_space_in_directory("/var/") / (1024**3) < 1.0: - raise MoulinetteError(m18n.n("migration_0003_not_enough_free_space")) + raise MoulinetteError("migration_0003_not_enough_free_space") # Check system is up to date # (but we don't if 'stretch' is already in the sources.list ... @@ -120,7 +120,7 @@ class MyMigration(Migration): self.apt_update() apt_list_upgradable = check_output("apt list --upgradable -a") if "upgradable" in apt_list_upgradable: - raise MoulinetteError(m18n.n("migration_0003_system_not_fully_up_to_date")) + raise MoulinetteError("migration_0003_system_not_fully_up_to_date") @property def disclaimer(self): diff --git a/src/yunohost/data_migrations/0005_postgresql_9p4_to_9p6.py b/src/yunohost/data_migrations/0005_postgresql_9p4_to_9p6.py index 871edcd19..f03a93ef9 100644 --- a/src/yunohost/data_migrations/0005_postgresql_9p4_to_9p6.py +++ b/src/yunohost/data_migrations/0005_postgresql_9p4_to_9p6.py @@ -20,10 +20,10 @@ class MyMigration(Migration): return if not self.package_is_installed("postgresql-9.6"): - raise MoulinetteError(m18n.n("migration_0005_postgresql_96_not_installed")) + raise MoulinetteError("migration_0005_postgresql_96_not_installed") if not space_used_by_directory("/var/lib/postgresql/9.4") > free_space_in_directory("/var/lib/postgresql"): - raise MoulinetteError(m18n.n("migration_0005_not_enough_space", path="/var/lib/postgresql/")) + raise MoulinetteError("migration_0005_not_enough_space", path="/var/lib/postgresql/") subprocess.check_call("service postgresql stop", shell=True) subprocess.check_call("pg_dropcluster --stop 9.6 main", shell=True) diff --git a/src/yunohost/domain.py b/src/yunohost/domain.py index 7b387618a..21a7992ae 100644 --- a/src/yunohost/domain.py +++ b/src/yunohost/domain.py @@ -78,7 +78,7 @@ def domain_add(operation_logger, auth, domain, dyndns=False): try: auth.validate_uniqueness({'virtualdomain': domain}) except MoulinetteError: - raise MoulinetteError(errno.EEXIST, m18n.n('domain_exists')) + raise MoulinetteError('domain_exists') operation_logger.start() @@ -110,7 +110,7 @@ def domain_add(operation_logger, auth, domain, dyndns=False): } if not auth.add('virtualdomain=%s,ou=domains' % domain, attr_dict): - raise MoulinetteError(errno.EIO, m18n.n('domain_creation_failed')) + raise MoulinetteError('domain_creation_failed') # Don't regen these conf if we're still in postinstall if os.path.exists('/etc/yunohost/installed'): @@ -147,11 +147,11 @@ def domain_remove(operation_logger, auth, domain, force=False): from yunohost.app import app_ssowatconf if not force and domain not in domain_list(auth)['domains']: - raise MoulinetteError(errno.EINVAL, m18n.n('domain_unknown')) + raise MoulinetteError('domain_unknown') # Check domain is not the main domain if domain == _get_maindomain(): - raise MoulinetteError(errno.EINVAL, m18n.n('domain_cannot_remove_main')) + raise MoulinetteError('domain_cannot_remove_main') # Check if apps are installed on the domain for app in os.listdir('/etc/yunohost/apps/'): @@ -169,7 +169,7 @@ def domain_remove(operation_logger, auth, domain, force=False): if auth.remove('virtualdomain=' + domain + ',ou=domains') or force: os.system('rm -rf /etc/yunohost/certs/%s' % domain) else: - raise MoulinetteError(errno.EIO, m18n.n('domain_deletion_failed')) + raise MoulinetteError('domain_deletion_failed') service_regen_conf(names=['nginx', 'metronome', 'dnsmasq', 'postfix']) app_ssowatconf(auth) @@ -246,7 +246,7 @@ def _get_conflicting_apps(auth, domain, path): # Abort if domain is unknown if domain not in domain_list(auth)['domains']: - raise MoulinetteError(errno.EINVAL, m18n.n('domain_unknown')) + raise MoulinetteError('domain_unknown') # This import cannot be put on top of file because it would create a # recursive import... diff --git a/src/yunohost/dyndns.py b/src/yunohost/dyndns.py index dd652119f..8bf2d254f 100644 --- a/src/yunohost/dyndns.py +++ b/src/yunohost/dyndns.py @@ -161,7 +161,7 @@ def dyndns_subscribe(operation_logger, subscribe_host="dyndns.yunohost.org", dom try: r = requests.post('https://%s/key/%s?key_algo=hmac-sha512' % (subscribe_host, base64.b64encode(key)), data={'subdomain': domain}, timeout=30) except requests.ConnectionError: - raise MoulinetteError(errno.ENETUNREACH, m18n.n('no_internet_connection')) + raise MoulinetteError('no_internet_connection') if r.status_code != 201: try: error = json.loads(r.text)['error'] @@ -202,7 +202,7 @@ def dyndns_update(operation_logger, dyn_host="dyndns.yunohost.org", domain=None, keys = glob.glob('/etc/yunohost/dyndns/K{0}.+*.private'.format(domain)) if not keys: - raise MoulinetteError(errno.EIO, m18n.n('dyndns_key_not_found')) + raise MoulinetteError('dyndns_key_not_found') key = keys[0] @@ -329,7 +329,7 @@ def dyndns_removecron(): try: os.remove("/etc/cron.d/yunohost-dyndns") except: - raise MoulinetteError(errno.EIO, m18n.n('dyndns_cron_remove_failed')) + raise MoulinetteError('dyndns_cron_remove_failed') logger.success(m18n.n('dyndns_cron_removed')) diff --git a/src/yunohost/firewall.py b/src/yunohost/firewall.py index 0e1cf6e76..878083bc7 100644 --- a/src/yunohost/firewall.py +++ b/src/yunohost/firewall.py @@ -268,7 +268,7 @@ def firewall_reload(skip_upnp=False): reloaded = True if not reloaded: - raise MoulinetteError(errno.ESRCH, m18n.n('firewall_reload_failed')) + raise MoulinetteError('firewall_reload_failed') hook_callback('post_iptable_rules', args=[upnp, os.path.exists("/proc/net/if_inet6")]) @@ -338,7 +338,7 @@ def firewall_upnp(action='status', no_refresh=False): if action == 'status': no_refresh = True else: - raise MoulinetteError(errno.EINVAL, m18n.n('action_invalid', action=action)) + raise MoulinetteError('action_invalid', action=action) # Refresh port mapping using UPnP if not no_refresh: @@ -407,7 +407,7 @@ def firewall_upnp(action='status', no_refresh=False): firewall_reload(skip_upnp=True) if action == 'enable' and not enabled: - raise MoulinetteError(errno.ENXIO, m18n.n('upnp_port_open_failed')) + raise MoulinetteError('upnp_port_open_failed') return {'enabled': enabled} @@ -419,7 +419,7 @@ def firewall_stop(): """ if os.system("iptables -w -P INPUT ACCEPT") != 0: - raise MoulinetteError(errno.ESRCH, m18n.n('iptables_unavailable')) + raise MoulinetteError('iptables_unavailable') os.system("iptables -w -F") os.system("iptables -w -X") diff --git a/src/yunohost/hook.py b/src/yunohost/hook.py index 46c25d50d..b7457878e 100644 --- a/src/yunohost/hook.py +++ b/src/yunohost/hook.py @@ -112,7 +112,7 @@ def hook_info(action, name): }) if not hooks: - raise MoulinetteError(errno.EINVAL, m18n.n('hook_name_unknown', name=name)) + raise MoulinetteError('hook_name_unknown', name=name) return { 'action': action, 'name': name, @@ -174,7 +174,7 @@ def hook_list(action, list_by='name', show_info=False): # Add only the name d.add(name) else: - raise MoulinetteError(errno.EINVAL, m18n.n('hook_list_by_invalid')) + raise MoulinetteError('hook_list_by_invalid') def _append_folder(d, folder): # Iterate over and add hook from a folder diff --git a/src/yunohost/monitor.py b/src/yunohost/monitor.py index fc10a4fbc..b01e36238 100644 --- a/src/yunohost/monitor.py +++ b/src/yunohost/monitor.py @@ -83,7 +83,7 @@ def monitor_disk(units=None, mountpoint=None, human_readable=False): result_dname = dn if len(devices) == 0: if mountpoint is not None: - raise MoulinetteError(errno.ENODEV, m18n.n('mountpoint_unknown')) + raise MoulinetteError('mountpoint_unknown') return result # Retrieve monitoring for unit(s) @@ -141,7 +141,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', unit=u)) + raise MoulinetteError('unit_unknown', unit=u) if result_dname is not None: return result[result_dname] @@ -237,7 +237,7 @@ def monitor_network(units=None, human_readable=False): 'gateway': gateway, } else: - raise MoulinetteError(errno.EINVAL, m18n.n('unit_unknown', unit=u)) + raise MoulinetteError('unit_unknown', unit=u) if len(units) == 1: return result[units[0]] @@ -287,7 +287,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', unit=u)) + raise MoulinetteError('unit_unknown', unit=u) if len(units) == 1 and type(result[units[0]]) is not str: return result[units[0]] @@ -303,7 +303,7 @@ def monitor_update_stats(period): """ if period not in ['day', 'week', 'month']: - raise MoulinetteError(errno.EINVAL, m18n.n('monitor_period_invalid')) + raise MoulinetteError('monitor_period_invalid') stats = _retrieve_stats(period) if not stats: @@ -321,7 +321,7 @@ def monitor_update_stats(period): else: monitor = _monitor_all(p, 0) if not monitor: - raise MoulinetteError(errno.ENODATA, m18n.n('monitor_stats_no_update')) + raise MoulinetteError('monitor_stats_no_update') stats['timestamp'].append(time.time()) @@ -386,7 +386,7 @@ def monitor_show_stats(period, date=None): """ if period not in ['day', 'week', 'month']: - raise MoulinetteError(errno.EINVAL, m18n.n('monitor_period_invalid')) + raise MoulinetteError('monitor_period_invalid') result = _retrieve_stats(period, date) if result is False: @@ -470,8 +470,8 @@ def _get_glances_api(): from yunohost.service import service_status if service_status('glances')['status'] != 'running': - raise MoulinetteError(errno.EPERM, m18n.n('monitor_not_enabled')) - raise MoulinetteError(errno.EIO, m18n.n('monitor_glances_con_failed')) + raise MoulinetteError('monitor_not_enabled') + raise MoulinetteError('monitor_glances_con_failed') def _extract_inet(string, skip_netmask=False, skip_loopback=True): diff --git a/src/yunohost/service.py b/src/yunohost/service.py index 83c36d0f8..2c85b7047 100644 --- a/src/yunohost/service.py +++ b/src/yunohost/service.py @@ -85,7 +85,7 @@ def service_add(name, status=None, log=None, runlevel=None, need_lock=False, des _save_services(services) except: # we'll get a logger.warning with more details in _save_services - raise MoulinetteError(errno.EIO, m18n.n('service_add_failed', service=name)) + raise MoulinetteError('service_add_failed', service=name) logger.success(m18n.n('service_added', service=name)) @@ -103,13 +103,13 @@ def service_remove(name): try: del services[name] except KeyError: - raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown', service=name)) + raise MoulinetteError('service_unknown', service=name) try: _save_services(services) except: # we'll get a logger.warning with more details in _save_services - raise MoulinetteError(errno.EIO, m18n.n('service_remove_failed', service=name)) + raise MoulinetteError('service_remove_failed', service=name) logger.success(m18n.n('service_removed', service=name)) @@ -320,10 +320,10 @@ def service_log(name, number=50): services = _get_services() if name not in services.keys(): - raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown', service=name)) + raise MoulinetteError('service_unknown', service=name) if 'log' not in services[name]: - raise MoulinetteError(errno.EPERM, m18n.n('service_no_log', service=name)) + raise MoulinetteError('service_no_log', service=name) log_list = services[name]['log'] @@ -609,7 +609,7 @@ def _run_service_command(action, service): """ services = _get_services() if service not in services.keys(): - raise MoulinetteError(errno.EINVAL, m18n.n('service_unknown', service=service)) + raise MoulinetteError('service_unknown', service=service) possible_actions = ['start', 'stop', 'restart', 'reload', 'enable', 'disable'] if action not in possible_actions: diff --git a/src/yunohost/ssh.py b/src/yunohost/ssh.py index 5ddebfc2f..41ac64293 100644 --- a/src/yunohost/ssh.py +++ b/src/yunohost/ssh.py @@ -23,7 +23,7 @@ def user_ssh_allow(auth, username): # TODO it would be good to support different kind of shells if not _get_user_for_ssh(auth, username): - raise MoulinetteError(errno.EINVAL, m18n.n('user_unknown', user=username)) + raise MoulinetteError('user_unknown', user=username) auth.update('uid=%s,ou=users' % username, {'loginShell': '/bin/bash'}) @@ -42,7 +42,7 @@ def user_ssh_disallow(auth, username): # TODO it would be good to support different kind of shells if not _get_user_for_ssh(auth, username): - raise MoulinetteError(errno.EINVAL, m18n.n('user_unknown', user=username)) + raise MoulinetteError('user_unknown', user=username) auth.update('uid=%s,ou=users' % username, {'loginShell': '/bin/false'}) diff --git a/src/yunohost/tools.py b/src/yunohost/tools.py index 397e51eb2..5f82c467b 100644 --- a/src/yunohost/tools.py +++ b/src/yunohost/tools.py @@ -112,7 +112,7 @@ def tools_ldapinit(): pwd.getpwnam("admin") except KeyError: logger.error(m18n.n('ldap_init_failed_to_create_admin')) - raise MoulinetteError(errno.EINVAL, m18n.n('installation_failed')) + raise MoulinetteError('installation_failed') logger.success(m18n.n('ldap_initialized')) return auth @@ -176,7 +176,7 @@ def tools_maindomain(operation_logger, auth, new_domain=None): # Check domain exists if new_domain not in domain_list(auth)['domains']: - raise MoulinetteError(errno.EINVAL, m18n.n('domain_unknown')) + raise MoulinetteError('domain_unknown') operation_logger.related_to.append(('domain', new_domain)) operation_logger.start() @@ -199,7 +199,7 @@ def tools_maindomain(operation_logger, auth, new_domain=None): _set_maindomain(new_domain) except Exception as e: logger.warning("%s" % e, exc_info=1) - raise MoulinetteError(errno.EPERM, m18n.n('maindomain_change_failed')) + raise MoulinetteError('maindomain_change_failed') _set_hostname(new_domain) @@ -248,7 +248,7 @@ def _set_hostname(hostname, pretty_hostname=None): if p.returncode != 0: logger.warning(command) logger.warning(out) - raise MoulinetteError(errno.EIO, m18n.n('domain_hostname_failed')) + raise MoulinetteError('domain_hostname_failed') else: logger.debug(out) @@ -483,7 +483,7 @@ def tools_update(ignore_apps=False, ignore_packages=False): # Update APT cache logger.debug(m18n.n('updating_apt_cache')) if not cache.update(): - raise MoulinetteError(errno.EPERM, m18n.n('update_cache_failed')) + raise MoulinetteError('update_cache_failed') cache.open(None) cache.upgrade(True) @@ -807,7 +807,7 @@ def tools_migrations_list(pending=False, done=False): # Check for option conflict if pending and done: - raise MoulinetteError(errno.EINVAL, m18n.n("migrations_list_conflict_pending_done")) + raise MoulinetteError("migrations_list_conflict_pending_done") # Get all migrations migrations = _get_migrations_list() @@ -864,7 +864,7 @@ def tools_migrations_migrate(target=None, skip=False, auto=False, accept_disclai # validate input, target must be "0" or a valid number elif target != 0 and target not in all_migration_numbers: - raise MoulinetteError(errno.EINVAL, m18n.n('migrations_bad_value_for_target', ", ".join(map(str, all_migration_numbers)))) + raise MoulinetteError('migrations_bad_value_for_target', ", ".join(map(str, all_migration_numbers))) logger.debug(m18n.n('migrations_current_target', target)) diff --git a/src/yunohost/user.py b/src/yunohost/user.py index bb39dd58e..d074c81c1 100644 --- a/src/yunohost/user.py +++ b/src/yunohost/user.py @@ -130,7 +130,7 @@ def user_create(operation_logger, auth, username, firstname, lastname, mail, pas # Validate uniqueness of username in system users all_existing_usernames = {x.pw_name for x in pwd.getpwall()} if username in all_existing_usernames: - raise MoulinetteError(errno.EEXIST, m18n.n('system_username_exists')) + raise MoulinetteError('system_username_exists') main_domain = _get_maindomain() aliases = [ @@ -226,7 +226,7 @@ def user_create(operation_logger, auth, username, firstname, lastname, mail, pas return {'fullname': fullname, 'username': username, 'mail': mail} - raise MoulinetteError(169, m18n.n('user_creation_failed')) + raise MoulinetteError('user_creation_failed') @is_unit_operation([('username', 'user')]) @@ -257,7 +257,7 @@ def user_delete(operation_logger, auth, username, purge=False): if purge: subprocess.call(['rm', '-rf', '/home/{0}'.format(username)]) else: - raise MoulinetteError(169, m18n.n('user_deletion_failed')) + raise MoulinetteError('user_deletion_failed') app_ssowatconf(auth) @@ -296,7 +296,7 @@ def user_update(operation_logger, auth, username, firstname=None, lastname=None, # Populate user informations result = auth.search(base='ou=users,dc=yunohost,dc=org', filter='uid=' + username, attrs=attrs_to_fetch) if not result: - raise MoulinetteError(errno.EINVAL, m18n.n('user_unknown', user=username)) + raise MoulinetteError('user_unknown', user=username) user = result[0] # Get modifications from arguments @@ -389,7 +389,7 @@ def user_update(operation_logger, auth, username, firstname=None, lastname=None, app_ssowatconf(auth) return user_info(auth, username) else: - raise MoulinetteError(169, m18n.n('user_update_failed')) + raise MoulinetteError('user_update_failed') def user_info(auth, username): @@ -414,7 +414,7 @@ def user_info(auth, username): if result: user = result[0] else: - raise MoulinetteError(errno.EINVAL, m18n.n('user_unknown', user=username)) + raise MoulinetteError('user_unknown', user=username) result_dict = { 'username': user['uid'][0], @@ -470,7 +470,7 @@ def user_info(auth, username): if result: return result_dict else: - raise MoulinetteError(167, m18n.n('user_info_failed')) + raise MoulinetteError('user_info_failed') # # SSH subcategory