From 0da0b07e19472d2baca09c8c2de640f0b3a9cf83 Mon Sep 17 00:00:00 2001 From: Julien Malik Date: Mon, 12 Sep 2016 23:06:48 +0200 Subject: [PATCH] [enh] Remove YAGNI code. Do not morph maildrop into mail-forward (who cares?) --- data/actionsmap/yunohost.yml | 15 ---------- src/yunohost/alias.py | 58 ++++-------------------------------- 2 files changed, 6 insertions(+), 67 deletions(-) diff --git a/data/actionsmap/yunohost.yml b/data/actionsmap/yunohost.yml index 2b70711ca..be53da251 100644 --- a/data/actionsmap/yunohost.yml +++ b/data/actionsmap/yunohost.yml @@ -240,21 +240,6 @@ alias: configuration: authenticate: all authenticator: ldap-anonymous - arguments: - --fields: - help: fields to fetch - nargs: "+" - -f: - full: --filter - help: LDAP filter used to search - -l: - full: --limit - help: Maximum number of alias fetched - type: int - -o: - full: --offset - help: Starting number for alias fetching - type: int ### alias_create() create: diff --git a/src/yunohost/alias.py b/src/yunohost/alias.py index bdfd53cd6..b94fd6dfd 100644 --- a/src/yunohost/alias.py +++ b/src/yunohost/alias.py @@ -28,54 +28,16 @@ import errno from moulinette.core import MoulinetteError -def alias_list(auth, fields=None, filter=None, limit=None, offset=None): +def alias_list(auth): """ List aliases - Keyword argument: - filter -- LDAP filter used to search - offset -- Starting number for alias fetching - limit -- Maximum number of alias fetched - fields -- fields to fetch - """ _ensure_ldap_ou_is_created(auth) - - alias_attrs = { 'mail': 'alias', - 'maildrop': 'mail-forward' } - attrs = [] - result_list = [] - - # Set default arguments values - if offset is None: - offset = 0 - if limit is None: - limit = 1000 - if filter is None: - filter = '(&(objectclass=mailAccount)(objectclass=mailAlias))' - if fields: - keys = alias_attrs.keys() - for attr in fields: - if attr in keys: - attrs.append(attr) - else: - raise MoulinetteError(errno.EINVAL, - m18n.n('field_invalid', attr)) - else: - attrs = [ 'mail', 'maildrop' ] - - result = auth.search('ou=aliases,dc=yunohost,dc=org', filter, attrs) - - if len(result) > offset and limit > 0: - for alias in result[offset:offset+limit]: - entry = {} - for attr, values in alias.items(): - try: - entry[alias_attrs[attr]] = values[0:] - except: - pass - result_list.append(entry) - return { 'alias' : result_list } + ldap_filter = '(&(objectclass=mailAccount)(objectclass=mailAlias))' + ldap_attrs = [ 'mail', 'maildrop' ] + result = auth.search('ou=aliases,dc=yunohost,dc=org', ldap_filter, ldap_attrs) + return { 'alias' : result } def alias_create(auth, alias, mailforward): @@ -162,15 +124,7 @@ def alias_info(auth, alias): raise MoulinetteError(errno.EINVAL, m18n.n('alias_unknown')) alias = result[0] - - result_dict = { - 'alias': alias['mail'][0] - } - - if len(alias['maildrop']) > 0: - result_dict['mail-forward'] = alias['maildrop'][0:] - - return result_dict + return alias def _ensure_ldap_ou_is_created(auth): """