[enh] better error messages and valid errno

This commit is contained in:
Julien Malik 2016-11-17 14:57:00 +01:00
parent 176ee5aa33
commit 2f12ef0473
2 changed files with 9 additions and 10 deletions

View file

@ -246,7 +246,8 @@
"alias_creation_failed" : "Unable to create alias",
"alias_deletion_failed" : "Unable to delete alias",
"alias_deleted" : "Alias successfully deleted",
"alias_unknown" : "Unknown alias",
"alias_invalid" : "Invalid alias '{alias:s}' : an alias is a mail address and must contain at least @ sign",
"alias_unknown" : "Unknown alias '{alias:s}'",
"alias_updated" : "Alias successfully updated",
"alias_update_failed" : "Unable to update alias",
"alias_info_failed" : "Unable to retrieve alias information"

View file

@ -75,7 +75,7 @@ def alias_create(auth, alias, mailforward):
success = auth.add(rdn, attr_dict)
if not success:
raise MoulinetteError(169, m18n.n('alias_creation_failed'))
raise MoulinetteError(errno.EREMOTEIO, m18n.n('alias_creation_failed'))
msignals.display(m18n.n('alias_created'), 'success')
return {'alias': alias, 'maildrop': attr_dict['maildrop']}
@ -105,13 +105,12 @@ def alias_update(auth, alias, add_mailforward=None, remove_mailforward=None):
if len(alias.split('@')) == 2:
ldap_filter = 'mail=%s' % alias
else:
# TODO better error message
raise MoulinetteError(167, m18n.n('alias_info_failed'))
raise MoulinetteError(errno.EINVAL, m18n.n('alias_invalid', alias))
result = auth.search('ou=aliases,dc=yunohost,dc=org', ldap_filter, alias_attrs)
if not result:
raise MoulinetteError(errno.EINVAL, m18n.n('alias_unknown'))
raise MoulinetteError(errno.EINVAL, m18n.n('alias_unknown', alias))
current_alias_info = result[0]
@ -128,7 +127,7 @@ def alias_update(auth, alias, add_mailforward=None, remove_mailforward=None):
success = auth.update('mail=%s,ou=aliases' % alias, current_alias_info)
if not success:
raise MoulinetteError(169, m18n.n('alias_update_failed'))
raise MoulinetteError(errno.EREMOTEIO, m18n.n('alias_update_failed'))
msignals.display(m18n.n('alias_updated'), 'success')
return alias_info(auth, alias)
@ -146,7 +145,7 @@ def alias_delete(auth, alias):
success = auth.remove('mail=%s,ou=aliases' % alias)
if not success:
raise MoulinetteError(169, m18n.n('alias_deletion_failed'))
raise MoulinetteError(errno.EREMOTEIO, m18n.n('alias_deletion_failed'))
msignals.display(m18n.n('alias_deleted'), 'success')
@ -168,13 +167,12 @@ def alias_info(auth, alias):
if len(alias.split('@')) is 2:
filter = 'mail=' + alias
else:
# TODO better error message
raise MoulinetteError(167, m18n.n('alias_info_failed'))
raise MoulinetteError(errno.EINVAL, m18n.n('alias_invalid', alias))
result = auth.search('ou=aliases,dc=yunohost,dc=org', filter, alias_attrs)
if not result:
raise MoulinetteError(errno.EINVAL, m18n.n('alias_unknown'))
raise MoulinetteError(errno.EINVAL, m18n.n('alias_unknown', alias))
return result[0]