summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/baseldap.py
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2011-11-21 10:50:27 -0500
committerMartin Kosek <mkosek@redhat.com>2011-11-30 17:08:35 +0100
commit135ccf89de866ea2cdda96993ed2743394e1e716 (patch)
tree1b3c7bef4d5653255b75014218d1d0be9b10d5bb /ipalib/plugins/baseldap.py
parent2ac9d4816a85822825257e16f4fcf74e15a8ea02 (diff)
downloadfreeipa-135ccf89de866ea2cdda96993ed2743394e1e716.tar.gz
freeipa-135ccf89de866ea2cdda96993ed2743394e1e716.tar.xz
freeipa-135ccf89de866ea2cdda96993ed2743394e1e716.zip
Parse comma-separated lists of values in all parameter types. This can be enabled for a specific parameter by setting the "csv" option to True.
Remove "List" parameter type and replace all occurences of it with appropriate multi-valued parameter ("Str" in most cases) with csv enabled. Add new parameter type "Any", capable of holding values of any type. This is needed by the "batch" command, as "Str" is not suitable type for the "methods" parameter. ticket 2007
Diffstat (limited to 'ipalib/plugins/baseldap.py')
-rw-r--r--ipalib/plugins/baseldap.py24
1 files changed, 13 insertions, 11 deletions
diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py
index 1766077be..cda0c497f 100644
--- a/ipalib/plugins/baseldap.py
+++ b/ipalib/plugins/baseldap.py
@@ -27,7 +27,7 @@ from copy import deepcopy
from ipalib import api, crud, errors
from ipalib import Method, Object, Command
-from ipalib import Flag, Int, List, Str
+from ipalib import Flag, Int, Str
from ipalib.base import NameSpace
from ipalib.cli import to_cli, from_cli
from ipalib import output
@@ -1298,8 +1298,9 @@ class LDAPModMember(LDAPQuery):
ldap_obj = self.api.Object[ldap_obj_name]
name = to_cli(ldap_obj_name)
doc = self.member_param_doc % ldap_obj.object_name_plural
- yield List('%s?' % name, cli_name='%ss' % name, doc=doc,
- label=_('member %s') % ldap_obj.object_name, alwaysask=True)
+ yield Str('%s*' % name, cli_name='%ss' % name, doc=doc,
+ label=_('member %s') % ldap_obj.object_name,
+ csv=True, alwaysask=True)
def get_member_dns(self, **options):
dns = {}
@@ -1593,18 +1594,18 @@ class LDAPSearch(BaseLDAPCommand, crud.Search):
ldap_obj.object_name_plural
)
name = '%s%s' % (relationship[1], to_cli(ldap_obj_name))
- yield List(
- '%s?' % name, cli_name='%ss' % name, doc=doc,
- label=ldap_obj.object_name
+ yield Str(
+ '%s*' % name, cli_name='%ss' % name, doc=doc,
+ label=ldap_obj.object_name, csv=True
)
doc = self.member_param_excl_doc % (
self.obj.object_name_plural, relationship[0].lower(),
ldap_obj.object_name_plural
)
name = '%s%s' % (relationship[2], to_cli(ldap_obj_name))
- yield List(
- '%s?' % name, cli_name='%ss' % name, doc=doc,
- label=ldap_obj.object_name
+ yield Str(
+ '%s*' % name, cli_name='%ss' % name, doc=doc,
+ label=ldap_obj.object_name, csv=True
)
def get_member_filter(self, ldap, **options):
@@ -1784,8 +1785,9 @@ class LDAPModReverseMember(LDAPQuery):
ldap_obj = self.api.Object[ldap_obj_name]
name = to_cli(ldap_obj_name)
doc = self.reverse_param_doc % ldap_obj.object_name_plural
- yield List('%s?' % name, cli_name='%ss' % name, doc=doc,
- label=ldap_obj.object_name, alwaysask=True)
+ yield Str('%s*' % name, cli_name='%ss' % name, doc=doc,
+ label=ldap_obj.object_name, csv=True,
+ alwaysask=True)
class LDAPAddReverseMember(LDAPModReverseMember):