From 1bc605561a927d35cc1c6ac38396aa8276e7a4ca Mon Sep 17 00:00:00 2001 From: Julien Malik Date: Wed, 16 Nov 2016 17:04:20 +0100 Subject: [PATCH] [enh] better support for multiple valued arguments --- data/actionsmap/yunohost.yml | 2 ++ src/yunohost/alias.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/data/actionsmap/yunohost.yml b/data/actionsmap/yunohost.yml index 24711c581..f07e0a276 100644 --- a/data/actionsmap/yunohost.yml +++ b/data/actionsmap/yunohost.yml @@ -274,10 +274,12 @@ alias: help: Alias to update --add-mailforward: help: List of mailforward addresses to add, separated by commas without space + nargs: "*" extra: pattern: *pattern_listemail --remove-mailforward: help: List of mailforward addresses to remove, separated by commas without space + nargs: "*" extra: pattern: *pattern_listemail diff --git a/src/yunohost/alias.py b/src/yunohost/alias.py index a33c5cafe..faaf9183c 100644 --- a/src/yunohost/alias.py +++ b/src/yunohost/alias.py @@ -107,13 +107,15 @@ def alias_update(auth, alias, add_mailforward=None, remove_mailforward=None): # Get modifications from arguments if add_mailforward: - add_mailforward = add_mailforward.split(",") + if not isinstance(add_mailforward, list): + add_mailforward = [ add_mailforward ] for mail in add_mailforward: if mail not in current_alias_info['maildrop']: current_alias_info['maildrop'].append(mail) if remove_mailforward: - remove_mailforward = remove_mailforward.split(",") + if not isinstance(add_mailforward, list): + add_mailforward = [ add_mailforward ] for mail in remove_mailforward: if mail in current_alias_info['maildrop'][1:]: current_alias_info['maildrop'].remove(mail)