mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Fix error handling (Yunohost / Moulinette / Asserts)
This commit is contained in:
parent
ded4895b7e
commit
2b2ff08f08
3 changed files with 9 additions and 12 deletions
|
@ -4,6 +4,7 @@ import os
|
|||
|
||||
from moulinette import m18n
|
||||
from moulinette.utils.network import download_text
|
||||
|
||||
from yunohost.diagnosis import Diagnoser
|
||||
|
||||
class IPDiagnoser(Diagnoser):
|
||||
|
@ -16,8 +17,7 @@ class IPDiagnoser(Diagnoser):
|
|||
if "version" not in args.keys():
|
||||
return { "versions" : [4, 6] }
|
||||
else:
|
||||
if str(args["version"]) not in ["4", "6"]:
|
||||
raise MoulinetteError(1, "Invalid version, should be 4 or 6.")
|
||||
assert str(args["version"]) in ["4", "6"], "Invalid version, should be 4 or 6."
|
||||
return { "versions" : [int(args["version"])] }
|
||||
|
||||
def run(self):
|
||||
|
@ -30,7 +30,7 @@ class IPDiagnoser(Diagnoser):
|
|||
result = ipv4,
|
||||
report = ("SUCCESS", "diagnosis_network_connected_ipv4", {}) if ipv4 \
|
||||
else ("ERROR", "diagnosis_network_no_ipv4", {}))
|
||||
|
||||
|
||||
if 6 in versions:
|
||||
ipv6 = self.get_public_ip(6)
|
||||
yield dict(meta = {"version": 6},
|
||||
|
|
|
@ -2,9 +2,8 @@
|
|||
|
||||
import os
|
||||
|
||||
from moulinette import m18n
|
||||
from moulinette.utils.network import download_text
|
||||
from moulinette.core import MoulinetteError, init_authenticator
|
||||
from moulinette.core import init_authenticator
|
||||
from moulinette.utils.process import check_output
|
||||
|
||||
from yunohost.diagnosis import Diagnoser
|
||||
|
@ -26,8 +25,7 @@ class DNSDiagnoser(Diagnoser):
|
|||
if "domain" not in args.keys():
|
||||
return { "domains" : all_domains }
|
||||
else:
|
||||
if args["domain"] not in all_domains:
|
||||
raise MoulinetteError(errno.EINVAL, m18n.n('domain_unknown'))
|
||||
assert args["domain"] in all_domains, "Unknown domain"
|
||||
return { "domains" : [ args["domain"] ] }
|
||||
|
||||
def run(self):
|
||||
|
|
|
@ -24,15 +24,14 @@
|
|||
Look for possible issues on the server
|
||||
"""
|
||||
|
||||
import errno
|
||||
import os
|
||||
import time
|
||||
|
||||
from moulinette import m18n
|
||||
from moulinette.core import MoulinetteError
|
||||
from moulinette.utils import log
|
||||
from moulinette.utils.filesystem import read_json, write_to_json
|
||||
|
||||
from yunohost.utils.error import YunohostError
|
||||
from yunohost.hook import hook_list, hook_exec
|
||||
|
||||
logger = log.getActionLogger('yunohost.diagnosis')
|
||||
|
@ -55,7 +54,7 @@ def diagnosis_show(categories=[], full=False):
|
|||
else:
|
||||
unknown_categories = [ c for c in categories if c not in all_categories_names ]
|
||||
if unknown_categories:
|
||||
raise MoulinetteError(m18n.n('unknown_categories', categories=", ".join(categories)))
|
||||
raise YunohostError('unknown_categories', categories=", ".join(categories))
|
||||
|
||||
# Fetch all reports
|
||||
all_reports = []
|
||||
|
@ -88,7 +87,7 @@ def diagnosis_run(categories=[], force=False, args=None):
|
|||
else:
|
||||
unknown_categories = [ c for c in categories if c not in all_categories_names ]
|
||||
if unknown_categories:
|
||||
raise MoulinetteError(m18n.n('unknown_categories', categories=", ".join(unknown_categories)))
|
||||
raise YunohostError('unknown_categories', categories=", ".join(unknown_categories))
|
||||
|
||||
# Transform "arg1=val1&arg2=val2" to { "arg1": "val1", "arg2": "val2" }
|
||||
if args is not None:
|
||||
|
@ -108,7 +107,7 @@ def diagnosis_run(categories=[], force=False, args=None):
|
|||
successes.append(category)
|
||||
except Exception as e:
|
||||
# FIXME / TODO : add stacktrace here ?
|
||||
logger.error("Diagnosis failed for category '%s' : %s" % (category, str(e))) # FIXME : i18n
|
||||
logger.error("Diagnosis failed for category '%s' : %s" % (category, str(e))) # FIXME : i18n
|
||||
|
||||
return diagnosis_show(successes)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue