mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Add new parameters to LDAPSearch: timelimit and sizelimit.
This commit is contained in:
committed by
Rob Crittenden
parent
5797c8167a
commit
6136f773a9
@@ -25,7 +25,7 @@ import json
|
||||
|
||||
from ipalib import crud, errors, uuid
|
||||
from ipalib import Method, Object
|
||||
from ipalib import Flag, List, Str
|
||||
from ipalib import Flag, Int, List, Str
|
||||
from ipalib.base import NameSpace
|
||||
from ipalib.cli import to_cli, from_cli
|
||||
from ipalib import output
|
||||
@@ -824,6 +824,25 @@ class LDAPSearch(CallbackInterface, crud.Search):
|
||||
"""
|
||||
Retrieve all LDAP entries matching the given criteria.
|
||||
"""
|
||||
takes_options = (
|
||||
Int('timelimit',
|
||||
label=_('Time Limit'),
|
||||
doc=_('Time limit of search in seconds (default 1)'),
|
||||
flags=['no_dispaly'],
|
||||
minvalue=0,
|
||||
default=1,
|
||||
autofill=True,
|
||||
),
|
||||
Int('sizelimit',
|
||||
label=_('Size Limit'),
|
||||
doc=_('Maximum number of entries returned (default 3000)'),
|
||||
flags=['no_dispaly'],
|
||||
minvalue=0,
|
||||
default=3000,
|
||||
autofill=True,
|
||||
),
|
||||
)
|
||||
|
||||
def get_args(self):
|
||||
for key in self.obj.get_ancestor_primary_keys():
|
||||
yield key
|
||||
@@ -887,7 +906,9 @@ class LDAPSearch(CallbackInterface, crud.Search):
|
||||
|
||||
try:
|
||||
(entries, truncated) = ldap.find_entries(
|
||||
filter, attrs_list, base_dn, scope=ldap.SCOPE_ONELEVEL
|
||||
filter, attrs_list, base_dn, scope=ldap.SCOPE_ONELEVEL,
|
||||
time_limit=options.get('timelimit', 1),
|
||||
size_limit=options.get('sizelimit', 3000)
|
||||
)
|
||||
except errors.ExecutionError, e:
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user